[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?