Menu

What's going on

The next step is a faster psyntax.

There's some newish code under /scm/compiler. It's a Scheme-to-JavaScript compiler. The generated JavaScript code depends on the Try Scheme runtime (that is, on all the code in /js/scm), but there's no arraycode in sight.

The generated code is in continuation-passing style except where the compiler determines it's ok to just call a function directly. (This is the case for standard procedures like `car` and `cdr`.) So the compiler has full support for continuations, space-efficient tail calls, procedures can return multiple values, and so on. (Without the last two, it wouldn't be able to compile psyntax.pp.)

The compiler isn't usable yet because there's some work to be done in the glue between the stuff in js/scm and the generated code. Barring unforeseen obstacles, I'll finish this week.

Posted by Jason Orendorff 2007-05-15

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.