Scheme as a virtual machine?

namekuseijin namekuseijin at gmail.com
Wed Oct 13 22:22:47 EDT 2010


On 13 out, 19:41, p... at informatimago.com (Pascal J. Bourguignon)
wrote:
> namekuseijin <namekusei... at gmail.com> writes:
> > On 11 out, 08:49, Oleg  Parashchenko <ole... at gmail.com> wrote:
> >> Hello,
>
> >> I'd like to try the idea that Scheme can be considered as a new
> >> portable assembler. We could code something in Scheme and then compile
> >> it to PHP or Python or Java or whatever.
>
> >> Any suggestions and pointers to existing and related work are welcome.
> >> Thanks!
>
> >> My current approach is to take an existing Scheme implementation and
> >> hijack into its backend. At this moment Scheme code is converted to
> >> some representation with a minimal set of bytecodes, and it should be
> >> quite easy to compile this representation to a target language. After
> >> some research, the main candidates are Gambit, Chicken and CPSCM:
>
> >>http://uucode.com/blog/2010/09/28/r5rs-scheme-as-a-virtual-machine-i/...
>
> >> If there is an interest in this work, I could publish progress
> >> reports.
>
> >> --
> >> Oleg Parashchenko  olpa at http://uucode.com/http://uucode.com/blog/ XML, TeX, Python, Mac, Chess
>
> > it may be assembler, too bad scheme libs are scattered around written
> > in far too many different flavors of assembler...
>
> > It warms my heart though to realize that Scheme's usual small size and
> > footprint has allowed for many quality implementations targetting many
> > different backends, be it x86 assembly, C, javascript or .NET.  Take
> > python and you have a slow c bytecode interpreter and a slow
> > bytecode .NET compiler.  Take haskell and its so friggin' huge and
> > complex that its got its very own scary monolithic gcc.  When you
> > think of it, Scheme is the one true high-level language with many
> > quality perfomant backends -- CL has a few scary compilers for native
> > code, but not one to java,
>
> Yep, it only has two for java.

I hope those are not Clojure and Qi... :p



More information about the Python-list mailing list