cross-posted from: https://programming.dev/post/23822190
I added this language to my watch list some time ago and forgot about it, until I got a notification about a new release (0.15) yesterday.
I’m someone who is familiar with system languages (C, Rust) and shell languages (Bash, Zsh, …). But don’t have much experience, at a proficient level, with any languages setting in between.
So I gave Koto’s language guide a read, and found it to be very well-written, and the premise of the language in general to be interesting. I only got annoyed near the end when I got to
@base
, because I’m an anti-OOP diehard 😉I hope this one well start to enjoy some adoption.
As someone who doesn’t know scripting languages well, what does make the snippet you posted particularly Ruby-ish?
Reading the guide, it felt like a relatively small consistent scripting language, with some Rustic touches. But I probably missed the touches from other languages I don’t know.
But then, Rust itself took inspiration from many other languages, including Ruby itself. So, maybe everyone is taking from (or mimicking if you will) everyone.
BTW, that last part can be written as*:
# from iterator import each, to_list » square -> each (2,4,6,8) -> to_list ➝ [4, 16, 36, 64]
which maybe mimics some other functional or functional-influenced language(s).
* may require 0.15.1
maybe it has to do with the lack of parens in the method calls and the chaining of method calls. this would be the ruby equivalent of the script:
puts 'Hello, World!' # -> Hello, World! def square(n) n*n end [2, 4, 6, 8].map(&:square) # -> [4, 16, 36, 64] # another option [2, 4, 6, 8].map{|n| n*n}