C-Mera[0] is also worth looking at. It's a Lisp-to-C-like source-to-source compiler. They're doing pretty neat stuff with that wrt. high-performance graphics[1]. On this year's European Lisp Symposium there was a demonstration of using this to generate and simultaneously test a graphics filter on many different architectures with many different optimizations to determine which works best on what. The video of the tal…
LispY C
41–45 of 45 posts
Re: LispY C
#42My first impression with the title was wrong, I thought about something related to Lisp and Y Combinator.
Re: LispY C
#43Re: LispY C
#44So crazy it might just work.
Historically the Scheme48 abstract machine was written in Pre-Scheme, a Scheme subset restricted enough to compile straightforwardly to C. For me, using Pre-Scheme to write graphics kernels was great fun, and produced decently fast code :)
I think VLISP is, as well. VLISP (not the French one from the 80s, the other one, though the French one was interesting in its own right [1]), was a verified Scheme implementation written in a verified version of Pre-Scheme. Sweet research project, but I haven't seen any public releases of it :/
There are some papers about both here: http://library.readscheme.org/page8.html
[1]: http://www.artinfo-musinfo.org/en/issues/vlisp/index.html
VLISP was a precursor to Le-Lisp [2], which was massively popular and influential in Europe, and could run faster on commodity hardware than Lisp Machine Lisp on the Symbolics 3600.
[2]: http://lelisp.org/ (under construction, but with some useful links for the time being).
France was actually a hotbed of Lisp across the pond and, along with the UK, pretty invested in a European standard for Lisp, first EuLisp (which was an excellent language but somehow flopped unfortunately) and ISLISP (an ISO standard that's not so excellent -- basically a crippled version of Common Lisp -- and also pretty much flopped). I've been in talks with some of the Le-Lisp guys about the possibility of open-sourcing Le-Lisp now that it's no longer commercially viable -- fingers crossed! :)
P.S., if anyone from INRIA happens to be reading this: pretty please?? Jérôme agrees! :)
Re: LispY C
#45Earlier quoted context omitted.
Some Lisps? Almost all Common Lisps compile to native machine code. Which is why CL programs tend to run orders of magnitude faster than e.g. Python programs. (But they're still typically slower than C because of runtime memory allocation and typetag checking.)
Talking about speed, someone put this online http://www.nexoid.at/tmp/scheme-benchmark-r7rs.html