[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Dynamic updating
Matthias Felleisen wrote:
> It's not a CL concept to modify a running program. Prolog did this for
> years, and the C code on the Mars probe did, too. It just didn't work :)
>
> But yes, it's very much a Lisp idea to produce your program in an
> incremental manner and thus also in a manner that let's you patch bugs
> while the thing is up and running.
>
> -- Matthias
Yeah, patching a running C program except in the most trivial of cases
is not for the faint of heart. Having access to a REPL in an interpreter
makes comprehensive changes to a running image possible.
I guess my question was more about the 'how' with respect to CL/Scheme
since (for instance) I can find no mention of a thread mechanism in ANSI
CL (or in R5RS for that matter). In a web application I'd probably
associate a listener on a port to handle out-of-band requests while in a
program being debugged I'd use the mechanism outlined by Anton. Is there
a non-implementation specific idiom for this or is it roll-your-own?