Subject: Re: (describe-differences "Scheme" "Common Lisp") From: Erik Naggum <firstname.lastname@example.org> Date: 1998/09/15 Newsgroups: comp.lang.lisp,comp.lang.scheme Message-ID: <email@example.com> * firstname.lastname@example.org (David Steuber "The Interloper") | It seems to be implied that if you want to implement Common Lisp, it | should be done in Common Lisp. Also, why can't byte compiled Common Lisp | optimize your functions as well as its own? because the byte-code interpretation machinery must add _some_ overhead to the execution, and the more byte-code, the slower it runs, as in wholly user-defined functions. the more stuff is implemented in the real implementation language, the faster it runs. this skews the way people look at performance, and which features they'll use. when abstraction is expensive, people don't do it. when abstraction is cheaper than not doing it, the benefits become more obvious. | I should have just made up my mind before being confused with the facts. that's always good advice when the world is too complex to answer one's questions simply. (I think it helps to understand complexity and then go back and decide to ignore some of it, but far too many frown at the complexity of the world and actively denounce tools and languages and techniques intended to deal with it.) | I have to wonder how much of Common Lisp must be implemented as native, | and how much can be implemented in Common Lisp. this depends on how you implement your "native" functions. it's possible to write a proto-Lisp that a simple compiler compiles to machine code and then implement enough Common Lisp in proto-Lisp to be able to build a new system entirely in Common Lisp. (this proto-Lisp can in fact be another language entirely, but then it's _more_ work to build the compiler.) | Paul Graham says in his book that one of the features of Common Lisp is | that it can extend itself. I am only a little way into the book, but I | like what I have seen so far. I just wish I had a free ANSI Common Lisp | implementation on NT that I could play with his examples on. Any | recommendations? why do you need NT? it takes less effort to install Linux and run Allegro CL 5.0 Trial Edition (an uncrippled version recently released) than it takes to find something free and high quality under NT. #:Erik -- http://www.naggum.no/spam.html is about my spam protection scheme and how to guarantee that you reach me. in brief: if you reply to a news article of mine, be sure to include an In-Reply-To or References header with the message-ID of that message in it. otherwise, you need to read that page.