[MSLUG] Ruby

Mathieu Bouchard matju at sympatico.ca
Sun Mar 20 17:47:12 EST 2005


BTW, on the ruby-talk mailing-list, there are currently threads going on
about Paul Graham and about the (rather large) influence of LISP/Scheme on
Ruby.

For those who don't know, Ruby borrows this from LISP/Scheme:

 * everything's an expression... well, except for some syntactic quirks,
   but essentially it's there.

 * the semicolon is an operator such that a;b;c;... behaves like LISP's
   (progn a b c ...)

 * lexical closures and continuations

 * multiple inheritance with method lookup backtracking, just like
   CLOS's (call-next-method). (Perl recently got this feature
   *because* Ruby had it)

 * dispatch on singletons. (However this is much different from the
   one in CLOS, because Ruby is much more Smalltalk-like than Lisp-like)

 * Symbols (are Smalltalk-like but look like LISP keywords because of
   colon-prefix)

 * "!" and "?" suffixes on some methodnames.

 * mark-and-sweep; load-time is part of run-time; eval (but on strings);
untyped variables, mostly holding pointers to type-tagged objects, except
some "unboxed objects"; etc; ... the above list was off the top of my mind
so it's by no means complete and I may have even skipped important
borrowings.

_____________________________________________________________________
Mathieu Bouchard -=- Montréal QC Canada -=- http://artengine.ca/matju



More information about the MSLUG mailing list