Dear Fellow Devs,
I've been using Ruby extensively in my work and sometimes I use AI algos to debug inner workings of complex code loops. I wanted to send you the idea because I believe it is very easy to add the following functionality to Ruby and Ruby could be the first programming language ever from the mainstream ones to apply smart AI decisions internally. It could give Ruby a huge marketing power.
So what is the idea that I already use sometimes to help my development?
When we consider some part of the code, it usually involves manipulating many variables in a complex way. And my very simple idea is to get all variables analyzed automatically with an unsupervised, multivariable anomaly detection algo continuously. So when we run it on the variables inside an inner loop or structure, then the AI might be able to spot weird combinations of variable states that may be important to notify the developer of. The language may give a warning about these states or even jump to the entry using binding.irb.
Anomaly detection works like when you have an N dimensional array, then every entry is analyzed and the most weird ones can be "highlighted" (by showing their indexes of their array for instance). That's it. The fastest algo could be used for this. It is ISOLATION FOREST. It runs in quasi linear time.
So if the user enables this option at a particular line of code, then the Ruby core would store all variables in an array on every run and would analyze it with the AD algo from time to time (because it takes time). It wouldn't have to analyze at every run because once the anomalous variables combinations get into the array, then they can be found later at any time.
If the variable is not numeric (since all AI algo need numeric inputs), then a "text conversion to numeric vector" could be done. I've got a solution for that too. That is also very sophisticated and would boost Ruby's capabilities a lot.
So a very sophisticated inner semantic AI analysis could take place with this option, which is very straightforward and easy to implement. I can help doing that. I also have another idea if you're interested in the first place.
Cheers and thanks.
Andras