I am just going to chime in with links to a few tools that might be useful that you probably already know about :)<div><br></div><div><h2><font class="Apple-style-span" size="2" style="font-weight: normal;">Algebraic Data Types in JavaScript</font></h2>

</div><div><a href="http://w3future.com/weblog/stories/2008/06/16/adtinjs.xml">http://w3future.com/weblog/stories/2008/06/16/adtinjs.xml</a></div><div><br></div><div>Javascript Pattern Matching</div><div><a href="http://www.bramstein.com/projects/junify/">http://www.bramstein.com/projects/junify/</a></div>

<div><br></div><div>Javascript Arrows</div><div><a href="http://blog.tupil.com/look-ma-no-callbacks/">http://blog.tupil.com/look-ma-no-callbacks/</a></div><div><br></div><div>haskell client-server state transferring</div>

<div><a href="http://blog.on-a-horse.org/">http://blog.on-a-horse.org/</a></div>