I did (almost) this same thing 12 years ago: http://joeganley.com/code/jslisp.html ... though his is more complete and polished than mine, and the interface is nicer in ways that were basically impossible in 1997.
Your project was a huge inspiration for me when I first stumbled upon it! I am now using a totally different approach for my "scheme on php" project but your project gave me the notion that it was actually plausible. So thank you!
"Starting in version 0.4 two extensions are packaged with the main download: a primitive API wrapper for Last.fm Web Services, and an interface to the flot JavaScript graphing library. "
I will qualify that with: the funnest part of writing "a scheme" is implementing the macro system! Especially as you can use that to implement a lot of the r5 spec itself.
Also check out http://www.jsconf2009.com where JavaScript developers will be rallying to discuss how to use JavaScript to build cutting edge mobile, desktop, server, and web applications. If you have any interest in deep JS tech, you should be there.
No, I mean that a language implemented in JavaScript is sort of a milestone, once you can emulate language 'a' in language 'b' I think that counts for something. My JavaScript knowledge is somewhat dated and this opened my eyes as to how dated it really is.
I was not aware that JavaScript was so versatile, even though I've used it plenty of times to achieve some functionality not present in html. In fact, that's probably the closest I can come to a one line description of the way I viewed JavaScript, an extension to html, obviously I was very wrong.
The html in this case simply is a container for a completely self contained language implementation, so that goes well beyond 'extending the functionality of html'.
I find Cappuccino (objective-c-like interpreter) and 280slides (corresponding demo) significantly more impressive, and they're from a YC startup to boot.
There have been major apps written in Javascript for at least 5 years. I mean, a huge slice of the whole "web 2.0" shebang is client side Javascript apps doing asynchronous communication with servers...
> client side Javascript apps doing asynchronous communication with servers
that much I'm aware of, but the fact that there is enough general functionality in there to be able to stick together a complete implementation of another language was definitely news to me.
I've been using JavaScript since its introduction to deliver 'video' (as in one jpeg replacing another) for the longest time, and I found a way to do an underwater call to the server long before 'ajax' even had a name or microsoft introduced the corresponding http request call.
I'll look at the examples you cited, it definitely sounds like cool stuff.
(define (foldr f end xs) (if (null? xs) end (f (car xs) (foldr f end (cdr xs)))))
(define (foldl f start xs) (if (null? xs) start (foldl f (f start (car xs)) (cdr xs))))
http://www.crockford.com/javascript/scheme.html