Scheme as a virtual machine?

Pascal J. Bourguignon pjb at informatimago.com
Thu Oct 14 00:41:15 CEST 2010


namekuseijin <namekuseijin 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/http://uucode.com/blog/2010/09/28/r5rs-scheme-as-a-virtual-machine-ii/
>>
>> 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.


>  .NET or javascript that I know of...

-- 
__Pascal Bourguignon__                     http://www.informatimago.com/



More information about the Python-list mailing list