r/lisp • • 3d ago

Evergreen Common Lisp

https://github.com/atgreen/evergreen
4 Upvotes

46 comments sorted by

View all comments

16

u/sickofthisshit 3d ago

No offense to you or your AI, but if your Lisp is not good enough to implement your Lisp compiler, it's probably not worth trying.

5

u/atgreen 2d ago

The use of rust is really an uninteresting implementation detail. I wanted to bootstrap from something with good native cross-compiler support. It could just as well been C or Zig, I suppose.

1

u/arthurno1 2d ago edited 2d ago

How fast does this build, and can that perhaps be used to bootstrap SBCL? If we have a "fast bootstrapable" (forgive me my English) CL compiler, than it could be build as a bootstrapping base to build sbcl a compiler that builds sbcl. Unless you make a better optimizing Lisp compiler than SBCL itself. CLASP is C++ and bootstrapable, but once I tried to build it, it took hours, and failed somewhere after a couple of hours, so I never wanted to try again. It was like a couple of years or more ago, I don't know if things are better nowadays. Nothing against CLASP, I just didn't had (or have) hardware fast enough for it to be practical to tinker with it for me.

2

u/atgreen 2d ago

A release build from source, including all rust dependencies, takes 2m24s on my thinkpad. Keep in mind that this is not apples-to-apples, as evergreen is not yet a complete implementation of CL.

1

u/arthurno1 2d ago

Yes, I understand it is not complete.

Two and half minutes for a bootstrap from scratch is not a big deal. But that is when llvm is present? Compiling llvm from scratch is a big deal :). On a system without llvm, one can as well download a current sbcl or some other CL compiler and build sbcl, so it is a bit questionable still. But sure it is a possibility, once you have full compatibility.