Thanks Robin. Not trying to be pedantic, but there is a difference (to me) between “being written in” and “being an extension of” – I knew Sonic Pi was written in Ruby, but I didn’t realize until today that it was also an extension of Ruby… and I didn’t realize that until seeing some language elements in this post that I don’t see in the Sonic Pi Lang guide.
Maybe I don’t know enough about Ruby and perhaps everything written in Ruby is also an extension of Ruby?
I see it this way… to use an example. The Basic interpreter is written in C and Assembly, that doesn’t make it an extension of those languages – it just means those languages were used to build the interpreter – somebody could have used Pascal instead to build the interpreter… and it would have changed nothing about the Basic language itself. Does this distinction make sense?
So when you say we should be careful about using a Ruby lang element in Sonic Pi because it might not be supported in the future – I’m curious about that? Does this mean that Sonic Pi might stop being an extension of Ruby at some point?