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

CCL actually has a lot of hair around bootstrapping, to the point that making certain changes to CCL on existing systems is non-trivial, according to Gary Byers: http://clozure.com/pipermail/openmcl-devel/2012-August/01373...

I have heard that Scheme48 has a good story when it comes to portability and Lisp-implementation-written-in-Lisp, but I haven't looked at it.



Scheme48 complies to bytecode, which is run on a VM that's written in PreScheme (http://en.wikipedia.org/wiki/PreScheme) which compiles to C.

Any system based on a C VM is going to be lots easier to port than something that compiles into native instructions. Also look at the Gambit-C implementation of Scheme, which compiles to C. The C itself is arranged like a VM, it's very fast (biggest issue with this approach is incremental compiling, where you need trampolines; the more code you block compile the more you can avoid this overhead).


Thanks for the link, it was PreScheme I was thinking of. You can make a PreScheme to native code compiler. Portable Standard Lisp also uses the same approach now (PSL->SYSLISP->C), but I think when it started out it may have compiled to machine code.




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

Search: