Scheme as a virtual machine?
Pascal J. Bourguignon
pjb at informatimago.com
Wed Oct 13 18:41:15 EDT 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