[racket-dev] using Racket to build an image-based Lisp: feasible?

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Mon Mar 4 09:09:51 EST 2013

At Sat, 02 Mar 2013 08:44:38 -0600, mikel evins wrote:
> I'm working on a Lisp. Recently I've been tinkering with an implementation in 
> Racket. Racket makes it impressively easy to write.
> I need it ultimately to be an old-fashioned kernel+image Lisp, with a 
> platform-specific kernel executable and a platform-independent heap image. 
> I'm aware that's not how Racket is designed. The question is: how hard would 
> it be to use Racket to build such a thing? Easy enough to be worth trying? Too 
> hard to consider? Can someone see a way to do it that would be easy enough to 
> be worth a try?
> I can imagine building something that might work out of the existing support 
> for serialization and fasl files, but would be interested to know if folks 
> more knowledgeable than I can see how to do it better.

I don't see a better approach than that one.

Long ago, we tinkered with platform-specific images based on memory
dumps, and I can see some potential to make that work again via GC
support. But it wouldn't be easy, it's especially low-level hacking,
and it probably would not work out for platform-independent images.

Posted on the dev mailing list.