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
Afficher les réponses par date