I’m reminded of a language called IO.
I really like some of the tradeoffs made here – like the fact that method lookups aren’t arbitrary lookups of a string into a method table, but rather slotted at compile time. It makes method lookup much faster at the expense of losing a bit of dynamism: in my opinion both of those are wins!
If someone adds a jit to this I bet it would offer a strong case versus luajit. However, it looks like someone would need to maintain an alternate implementation: https://github.com/munificent/wren/issues/371
I wonder if this is a case for integrating OMR’s jit like IBM has done with Ruby.
We (at OMR) would love if someone tried it – and we’d be willing to answer a lot of questions on the process.