D
David Masover
Tony said:Well, in my case, my language is running on the Erlang VM (
http://wiki.reia-lang.org) and will have all the features of Erlang and then
some.
Reia! I thought your name sounded familiar.
Here's my own list. I did fill out the questionnaire, but I'm not sure
which of these were covered:
I like Ruby's relaxed syntax. I like letting things like parentheses be
implied, leading to interesting, emergent phenomena like hashes as named
arguments. (Not that I would complain if the language implemented named
arguments -- even better if I don't have to use them as a hash -- so
long as I can if I need to.)
I like the ability to create good-looking DSLs, but that's similar to
the above.
The biggest thing I like from Python, and miss in Ruby, is significant
indentation. Having a ton of end statements at the end of a file isn't
particularly DRY, and I tend to have consistent indentation anyway.
The biggest thing I like from Javascript, and miss in Ruby, is
prototypal inheritance and the near lack of a type system. There's no
difference between a proc, a block, a function, and a method, and I can
take any function, and apply it as a method to any object.
I also like things like Rubinius. I'd love to be able to dig deep into
something like Reia without needing to use Erlang, just as I can usually
dig into Ruby without needing C.
One thing I like from Erlang, and hope Reia keeps, in some form:
Reloading modules on the fly.
This may be difficult, though -- technically it's possible in Ruby, but
Ruby is dynamic enough that the sanest way has been Merb's approach of
loading all of the library and framework code (everything except your
app), then forking, then loading your app. When you want to make a
change to your app, it kills the child, forks again, and loads your
code, rather than try to patch a new version of your code onto the old....
Probably your best bet is to make it possible, and let other solutions
be developed on top of that capability.
I love the idea of Reia, and can't wait to see where it goes. It's not
yet polished enough to be used at work, and I've been impatient enough
that I've started trying to write an actor library in Ruby. It's going
very, very slowly.