SJS wrote:
begin  quoting David Brown as of Sat, Jan 12, 2008 at 01:48:23AM -0800:
Since lisp compiles incrementally, this can be a little unclear.

Um, that's not a /requirement/ for LISP, is it?

No, it is not.

Common Lisp is required to support macros.

That doesn't mean that everything can't be interpreted all the way down. ie. the expansion of the macro can be done by a sufficiently clever interpreter.

Although, you could still call that expansion "incremental compiling". However, then were arguing semantics rather than features.

In addition, I don't think Scheme required support for macros for a long time. IIRC, SICP doesn't have any mention of macros at all (whoops ... sorry ... didn't mean to drag the thread back on topic).

LISP does make it easy to modify running code, right? Just not via the
macro system.

Um, maybe.  But then your talking about features of the REPL, not Lisp.

The main feature that you normally get from Lisp REPL is the ability to inject extra code into the system so that you can do useful things after interrupt/restart. This is not unique to Lisp.

Basically, any language with a well-managed lexical environment that you can capture would work.

To be fair, you *could* do this even with C. Load new code, adjust the call stack, slap a return down, and execute. IIRC, the issue is less with C than with the fact that you are running directly on hardware inside an OS--one of whose purposes is to prevent arbitrary damage from one running program to another.

-a

--
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg

Reply via email to