Related articles |
---|
[13 earlier articles] |
Re: The compilation approach in modern languages dot@dotat.at (Tony Finch) (2005-02-18) |
Re: The compilation approach in modern languages hannah@schlund.de (2005-02-18) |
Re: The compilation approach in modern languages boldyrev@cgitftp.uiggm.nsc.ru (Ivan Boldyrev) (2005-02-18) |
Re: The compilation approach in modern languages jle@ural.owlnet.rice.edu (2005-02-20) |
Re: The compilation approach in modern languages gneuner2@comcast.net (George Neuner) (2005-02-28) |
Re: The compilation approach in modern languages anton@mips.complang.tuwien.ac.at (2005-02-28) |
Re: The compilation approach in modern languages gneuner2@comcast.net (George Neuner) (2005-03-01) |
Re: The compilation approach in modern languages boldyrev@cgitftp.uiggm.nsc.ru (Ivan Boldyrev) (2005-03-04) |
Re: The compilation approach in modern languages anton@mips.complang.tuwien.ac.at (2005-03-05) |
Re: The compilation approach in modern languages hannah@schlund.de (2005-05-18) |
From: | George Neuner <gneuner2@comcast.net> |
Newsgroups: | comp.compilers |
Date: | 1 Mar 2005 15:52:42 -0500 |
Organization: | Compilers Central |
References: | 05-02-053 05-02-056 05-02-065 05-02-075 05-02-082 05-02-101 |
Keywords: | design, Lisp |
Posted-Date: | 01 Mar 2005 15:52:42 EST |
On 28 Feb 2005 00:53:47 -0500, anton@mips.complang.tuwien.ac.at (Anton
Ertl) wrote:
>Ivan Boldyrev <boldyrev@cgitftp.uiggm.nsc.ru> writes:
>>> [Well, sure. Lots of languages can compile at runtime. -John]
>...
>>Perhaps, (Common) Lisp/Scheme is different from them because
>>COMPILE-FILE is *standard* function.
>
>Hmm, COMPILE-FILE is not quite what I consider compilation at
>run-time. Even in C I can do system("cc ..."); ok, some people have
>used that in combination with dlopen/dlsym to achieve a kind of
>run-time compilation, but it is relatively cumbersome.
Lisp has the standard function COMPILE for run-time compilation. It
also has COERCE which (among other uses) can create an interpreted
function at run-time from a suitably structured list.
When called directly on a suitable list, COMPILE calls COERCE to
create a function and then compiles and links the function.
COMPILE-FILE is merely a driver function for COMPILE which takes its
input from a stream.
>What I am thinking of when I hear Lisp and run-time compilation are
>things like macros and back-quote.
Most macro use in Lisp occurs at development time. The typical run
time use is to hot patch a running program and is hidden behind a LOAD
of the new code. A program whose normal operation requires a lot of
run time macro expansion is either doing something incredibly smart or
insanely stupid.
George
Return to the
comp.compilers page.
Search the
comp.compilers archives again.