Vacietis, a C compiler targeting Common Lisp
github.com
github.com
Obviously this is also useful for userland stuff.
There are other approaches to this, but Vacietis maps C data and pointers to Common Lisp data structures, so they are inspectable but still memory safe (and you can run a bunch of things in a single address space if you want), and C functions are just Common Lisp functions so all of the development and debugging tools "just work."
See Jiyuno Megami's repository: https://github.com/jiyunomegami/Vacietis
> Any plans on getting this thing moving along again?
Yes, sometime in the upcoming decade.
> Was there anything learned from this project that can aid development of similar projects?
What is a "similar project?" Yokota Yuki's with-c-syntax¹ takes a completely different approach to parsing and runtime representation (it is similar to ScottBurson's ZetaC², which I studied closely before writing Vacietis). I want to use this to run OpenBSD or NetBSD hardware device drivers on a memory-safe Common Lisp operating system runtime. For me a "similar project" is user-space device drivers.
¹ https://github.com/y2q-actionman/with-c-syntax/ ² http://www.bitsavers.org/bits/TI/Explorer/zeta-c/
Once you evaluate the above, you can call main from lisp.
Like this. :)I guess it boils down to "yeah but why".