Lisp Hackers: Vladimir Sedach
lisp-univ-etc.blogspot.com
lisp-univ-etc.blogspot.com
It's not all that shocking; Prolog-in-Lisp is a common exercise, and in Let over Lambda there is a chapter about Forth-in-Lisp.
Case in point: pointer punning. Somebody takes a 'char ', writes some stuff through it, then casts it to an 'int ' and starts reading that stuff back. ZetaLisp, having been built to implement the Lisp Machine OS in, had some low-level features that made this kind of thing doable, but those features did not make it into Common Lisp (I'm thinking of displaced arrays with mixed element sizes, though as I write this it occurs to me that it might be possible to coax an open source CL implementation into dealing with this, if you can give up on the generated code being portable CL).
If you want to look at Zeta-C, the sources and some commentary can be found here: http://wiki.alu.org/Zeta-C
That's only a problem when the "stuff" is indeed machine-specific bytes and not something that has type tags already. That happens when you're writing binary data from memory and reading it back in again, and mmaping files, neither of which is portable C code. There are some rules about ints being a larger number of storage units than chars in the C standard, which Vacietis does violate (everything aside from arrays and structs is 1 storage unit), but aside from that the two use cases I mentioned aren't actually required to be supported by C compilers, and they're surprisingly not frequent.
Still, looking at his list of "big things that need to be done" -- this is not yet a general-purpose C compiler.
I should have asked what his goals for the project were. If he wants a compiler that handles all of C and produces code good enough that people would actually want to use it -- say, within a factor of 5 of optimized GCC output -- I think it's still clear that that's a huge project. But if he just wants to port hardware drivers, which appears to be his primary purpose, yeah, I can see that that might not be so hard. Driver code tends not to use the whole language, though it can do some weird low-level stuff like pointer type punning that can be hard to model in CL. And performance is probably not critical for most drivers since they do little computation.
Mirai was written all in common-lisp. Wings3D, inspired by Mirai, is written in Erlang.
This is Mirai: http://www.youtube.com/watch?v=ubgvomRTW80 Here is Bay Raitt working with it. Note the year. Also note that is the guy that worked on Golum (and later at Valve). Modeling in that video seems like a normal workflow by today's standards, however at the time NURBS/Patch modeling was all the rage and box modeling was a novelty most users were skeptical of. Mirai provided workflow which pushed it onto a new level. Prior to that Lightwave had something similar with its MetaNURBS.
IIRC, it was a time when Maya finally caught on (ver 2 I believe) and new Softimage (codename Sumatra, later XSI) was getting adopted too. Interesting fact is that Softimage bought nichimen's modeling toolset and integrated it into XSI.
So many firsts were spawned from Mirai. Some due to technical achievements/features, some by its users. Bridge poly tool comes to mind, and of course, box modeling pioneered by Bay Raitt and Mirai peers for production. Truly defining time for 3D. A year later we all learned about skybox/GI/FG, and a couple of years later Zbrush came out. Nothing was the same anymore.
Dave Cooper of Genworks (http://www.genworks.com) told me that he met some of the Mirai developers (they're still around: http://www.izware.com/) at a conference not too long ago, and that they're working on the next iteration of Mirai.
Funny thing is that, since it's in Common Lisp, when there's a problem, you were dumped into the debugger, which was scary... only now do I know that it's an amazing opportunity to access the underlying system in fact !
I understand real-time garbage collection, but what is EPT/RVI virtualized page?