Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

There are Lisps with similar semantics. It faded (further) out of popularity for a number of reasons, but it still has its niche.


Additionally, although not the same, this kind of relates to JIT caches as well.


Which Lisps were those? I'm kinda interested in this space.


It's not widely known, but GNU Emacs works like this.

When you launch the Emacs editor, you're loading an Emacs Lisp image that was populated at build time by running Lisp code, with the resident Lisp definitions "dumped" to make an image file.

The image file used to actually be the `emacs` executable you'd run, using a clever but non-portable mechanism called `unexec` to make an executable.

But as of version 27.1 (in 2020), the image file is separate from the executable for portability reasons.


All Common Lisps can do that, though it is not a part of the standard. See e.g. (sb-ext:save-lisp-and-die)


There are a number of image-based Scheme systems. Chibi Scheme and Chez Scheme come to mind. In both, you can save an image and reload it at a later time, though for very good reasons, most people start each session with a fresh copy of the default image.


CL and Janet both come to mind as supporting image-based deployment.


SBCL does this.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: