Re: Deploying lisp based image applications



Ramza Brown <berlin.brown@xxxxxxxxx> writes:
> I was thinking of deploying a lisp based application(clisp
> guys). Anyway, if you have an image setup and you have the executable
> lisp interpreter and have it load the image on startup. Let us say
> that you want to upgrade some of the functions in the original image,
> because of bugs or whatever. Could you in theory override the
> functions in the previous image by loading new scripts or possibly
> another image.

Not another image, since clisp can only load an image at launch time
(and I don't know any implementation that can merge two images).

But indeed it's easy to boot the current image, then compile and load
*.lisp or load *.fas files (the "patches"), then save the new image.

clisp -M image-1.0.mem -x '(progn (load (compile-file "patches.lisp")) \
(ext:saveinitmem "image-1.1.mem" ...))'
clisp -M image-1.1.mem


> What is the best way to write pluggable software in lisp.

Using LOAD. Lisp is all plug-ins.

(dolist (plugin (directory "PLUGINS:*.lisp")) (load plugin))


> Has this worked for anyone?

Yes.



Actually, saving images is so easy that it can be used to save
snapshoots of long computations to be able to restart them from the
last snapshoot instead of from the start.

--
__Pascal Bourguignon__ http://www.informatimago.com/
In deep sleep hear sound,
Cat vomit hairball somewhere.
Will find in morning.
.



Relevant Pages

  • Re: fasl and lisp image
    ... fundamental difference between the lisp image and the set of .fasl ... need anything more than a remembered set of fasl to load (both ... When I work with a Lisp machine, ... When I later restart the Lisp, ...
    (comp.lang.lisp)
  • Re: DBMS and lisp, etc.
    ... boundaries in your system even if your crude backing store does not actually ... to toss out a real benefit of the DBMS and design around it at this point. ... structure and the simply "print" to save it, and then "read" to load it. ... you may want to look into some implementation specific bits of your Lisp, ...
    (comp.lang.lisp)
  • Re: Poll : Are you interested seeing Qi as embedded language in lisp?
    ... LOAD the following into Qi. ... why it wouldn't work on SBCL and other lisp implementations. ... Now, Qi doesn't have an asdf system definition, but it's a somewhat ... currently in a single file anyway, you just compile and load it and ...
    (comp.lang.lisp)
  • Re: How to load and clear files?
    ... You can just load new definitions to replace the old ones. ... by the old name in the lisp image, ... CLISP is written in portable C code: you can compile it on almost any ... or:EXECUTE to precise your idea. ...
    (comp.lang.lisp)
  • [Lit.] Buffer Overruns - II
    ... I suppose that if I were familiar enough with Lisp in 1989 that I might have ... > relative to actual load address' is unfortunately not clear ... just use the appropriate load library system call. ... typedef struct {... ...
    (sci.crypt)