From: Bob Hutchison Date: 2005-09-29T04:12:22+09:00 Subject: Re: Lisp macros On Sep 28, 2005, at 2:46 PM, Robert Klemme wrote: > Bob Hutchison wrote: > >> On Sep 27, 2005, at 4:26 PM, Robert Klemme wrote: >> >> >>> I believe early versions were actually interpreted only and you >>> definitely can have a Lisp interpreter that does no compilation >>> (you wouldn't want it for speed reasons but it's perfectly >>> feasible). I still don't view Lisp as a compiled language. As far >>> as I understand the language the runtime must contain a compiler if >>> you want compiled code. To me this is a definite hint that >>> compilation is rather an optimization technique than a feature of >>> the language (as opposed to C etc.). Am I wrong here? >>> >>> >> >> All of the major implementations, with the exception of CLISP, are >> native compilers. I know many, if not all, no longer have >> interpreters at all. The only time you ever need to compile at >> runtime is if you call eval, load an uncompiled source file, or >> change some code on the fly (e.g. in the debugger or shell). >> > > True, but that doesn't contradict what I said, does it? I mean, > you can't have Lisp without eval - at least without it a major part > would be missing. Or do I have a misconception of Lisp here? First, I wasn't trying to contradict you, just clarify the situation a bit. Second, I think you may have a misconception of lisp. I'm working currently working on a lisp program that is about 10,000 lines of code without a single eval in it. I've never come across a need for it. No matter, eval in LispWorks, for example, compiles things, it doesn't interpret them. I suppose I should ask: in what way is compilation ever not an optimisation? and, in those cases, why don't you think they apply to lisp? Cheers, Bob > > Kind regards > > robert > > > ---- Bob Hutchison -- blogs at Recursive Design Inc. -- Raconteur --