

Improving Ruby - DanielRibeiro
http://metaphysicaldeveloper.wordpress.com/2010/03/31/improving-ruby/

======
daeken
I think one of the key things he's missing at the end of this article, where
portability across implementations is mentioned, is that bringing more
flexible metaprogramming into the language can make portability a whole lot
easier. You can define the core of the language as a macro processor and some
base functionality, then define everything else on top of it. A new
implementation has to build the core, then gets the rest for free. This is
common in the Lisp world, but next to nonexistent outside it.

~~~
DanielRibeiro
Good point. Actually Alan Kay does mention this on his interview on ACM queue
(<http://queue.acm.org/detail.cfm?id=1039523>) when he says: "and in fact we
know how to do it in a meta-way". And this has been the goal of Rubinius guys
(Ruby written in Ruby). Somehow, not being "Turtles all the way down" does
bother me, but, in pratical terms, it does not affect as much right now.

Clojure is also criticize for not being fully implemented in Clojure, and I
think this is a very pragmatic choice. It is always better when it is
otherwise, but Jvm is portable enough that clojure does not need to be.

------
MikeTaylor
More thoughts on improving Ruby at
[http://reprog.wordpress.com/2010/04/01/early-experiments-
wit...](http://reprog.wordpress.com/2010/04/01/early-experiments-with-jruby/)

------
lg
I've seen ruby objects with #source_location before, but, agreed, should be
default.

