On Oct 24, 2007, at 4:53 AM, M. Edward (Ed) Borasky wrote: > 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. When I mentioned multi-paradigm there was a response to someone mentioning Scheme and Common Lisp. I didn't see "mostly functional" was referring to Lisp 1.5 and not Common Lisp. It is Common Lisp the one I think it is multi-paradigm.