I've updated the Server Side Javascript distribution to include an example which uses E4X. E4X is described in Ecma-357 and adds a Native XML syntax to Javascript. The XML is converted to a Javascript object which can be used to query and manipulate the XML. The E4X example servlet generates the XHTML to be displayed using: var result = <html>... more →
I've added to my lightweight threading example in Narrative Javascript to include support for sending and receiving messages between processes. The style of communication is based on the Erlang style of concurrency whereby processes communicate by sending messages. The threads2 example is here. This page has two processes running on it. They start when the page loads. Both processes block... more →
It looks like Javascript 1.7 is getting some interesting new features. Brendan Eich did a presentation about what is being added and changed. One that looks useful for the concurrency things I'm playing with is destructuring assignment: var [a, b, c] = [ 'one', 'two', 'three' ]; more →
I've been playing with Narrative Javascript and decided to have a go at porting the bshift and breset Scheme example to it. I'd previously had a go at this with Rhino. Trying some simple examples out it turns out that the continuations provided by Narrative Javascript are really partial continuations. Here's an example demonstrating this: var ex4cc ; more →
Narrative Javascript extends the Javascript language to include a new operator. That operator allows writing procedural looking code that spans asynchronous operations. Very much like continuations enable writing web applications such that you don't need to break application flow to model the HTTP protocol, Narrative Javascript enables you to write your code in a sequential style and have it automatically... more →