On Thu, 2006-08-10 at 13:54 -0400, Eli Barzilay wrote:
> On Aug 10, Matthias Felleisen wrote:
> >
> > On Aug 10, 2006, at 9:27 AM, Noel Welsh wrote:
> >
> > > What tools are available for writing compilers from (subsets of)
> > > MzScheme to something faster? For example, is there a binding to
> > > LLVM? I know someone was working on a LLVM compiler a while ago.
> >
If LLVM is not an option what is the opportunity for leveraging Larceny.
Larceny now has a native 386 emitter (just recently switched to the
Sassy assembler), is mostly scheme based etc...
Just the other day I was wondering what it would take to write an
MzScheme to Scheme compiler (or translator). :)
What I mean is hooking into the MzScheme interpreter and/or mzc to emit
basic Scheme as an IL. Said IL scheme is then compiled by Larceny.
(Fully expand all syntax, unroll modules by prefixing all symbols, emit
scheme.)
Kinda crude to start with, but it would give one an opportunity of say,
writing an ICFP codex UM in MzScheme and then to drop the hammer and do
a finishing compile in Larceny for max performance.
Or how about adding to Larceny the capability to compile to a .so / .dll
file with the runtime embedded. Then vary the MzScheme FFI to utilize
the native object.
I'm sure some of the PLT core have must have considered the possibility
of leveraging Larceny in some fashion. What are the major show
stoppers?
---
P.S. if anyone involved in Larceny is on the list, I'd like to suggest
prioritizing basic module support in the next Larceny release. Just
enough to give basic name space scoping would be great. It can be well
short of full R6.