[plt-scheme] ajax and plt

From: Marco Monteiro (masm at acm.org)
Date: Wed Jul 8 16:39:46 EDT 2009

On Thu, Jul 2, 2009 at 3:18 AM, Shriram Krishnamurthi <sk at cs.brown.edu>wrote:

> We have a full, working compiler from Scheme to JavaScript for
> Beginner and Intermediate Scheme plus the World framework for
> interaction.  The compiler is self-hosting.  We are working on
> plugging the generated code into other contexts such as mashups.
> While the compiler is available, we aren't interested in supporting it
> right now, as we're integrating it into a much larger framework.  We
> are targeting a preliminary release of the whole framework by the end
> of this summer, if not sooner.
> I'm happy to try to answer questions.

I have a Scheme to Javascript compiler implemented in Common Lisp.
It implements most things in R5RS. Missing are the number tower and
macros. Also, there is no proper module system.

I want to port the compiler to PLT-Scheme. My idea is to somehow
reuser the module and macro system of PLT. I'm just starting with PLT,
so I need advice about the best way to do this.

What I was thinking about was that I could write a module using #lang sines,
for example. The forms in this module would be expanded to the core
forms in PLT-Scheme (the ones in chapter two of the reference manual) by
Then the compiler takes these and generates Javascript (maybe using
and serve it with the web server or maybe put it in a file.

Even better: a compiler already exists and I don't have to port mine.

In IRC, Eli Barzilay pointed me to the mailing list telling me that a Scheme
to Javascript
compiler, implemented in PLT-Scheme, might already exists. I'm guessing he
referring to this message.

Anyhow, is there something already usable? If not, I need advice, as a
PLT-Scheme newbie,
on the best way to reuse PLT-Scheme to implement (port) my compiler.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20090708/1cb42092/attachment.html>

Posted on the users mailing list.