Chad Perrin wrote: > On Tue, Oct 23, 2007 at 01:29:16PM +0900, M. Edward (Ed) Borasky wrote: >> I'm not sure what "multi-paradigm" means, but Lisp 1.5, Common Lisp and >> Scheme are at their core functional languages based on the lambda >> calculus with "enough" imperative features, macros and side effects to >> get work done. An awful lot of Lisp (and Scheme) code has been written >> over the years, but it's still really Lisp 1.5 at heart. > > I think, in this context, "multi-paradigm" is intended to mean > functional, object oriented, imperative/procedural, and maybe even a > little declarative, all at once. Well, then, every Turing-complete language is multi-paradigm, right? The core of Scheme and Common Lisp is "car", "cdr", "cons", "lambda", S-expressions and M-expressions mapped into S-expressions, etc., just like good ol' Lisp 1.5. Lisp 1.5 had "progn", though, so I guess you could claim it was procedural. Objects were grafted onto Lisp just like they were grafted onto Perl and Python. Lisp wasn't *born* with objects in the same sense as Smalltalk, Java and Ruby were. Now I would call Ruby a multi-paradigm language before I'd call Scheme one.