My idea would be reusing some of the already-available tools for compiling Haskell to JS (for example, UHC), and develop with any of them a complete library for client-side scripting; rather that redevelop a way to compile Haskell to JS.<div>

<br></div><div>I think it&#39;s really a pity not being able to use things like what Yesod provides in a client-side context. And both sides would benefit: they can share common code for datatypes (as it&#39;s done in Google Web Toolkit), and autogenerate some code for sending or receiving AJAX requests, for example.</div>

<div><br><br><div class="gmail_quote">2012/3/6 Michael Snoyman <span dir="ltr">&lt;<a href="mailto:michael@snoyman.com">michael@snoyman.com</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="HOEnZb"><div class="h5">On Tue, Mar 6, 2012 at 11:40 PM, Alejandro Serrano Mena<br>
&lt;<a href="mailto:trupill@gmail.com">trupill@gmail.com</a>&gt; wrote:<br>
&gt; Hi,<br>
&gt; I&#39;m really looking forward to helping in the Summer of Code, if Haskell goes<br>
&gt; into it this year (something I take for granted :). I would like to propose<br>
&gt; an idea for a project, and I&#39;m looking for suggestions about whether it&#39;s<br>
&gt; good, should be improved or it&#39;s just unfeasible.<br>
&gt;<br>
&gt; My idea is to make a client-side Haskell Web Toolkit, in the spirit of<br>
&gt; Google Web Toolkit, which would allow to program in Haskell the client part<br>
&gt; of a web application, and would complement the web frameworks already<br>
&gt; existing for Haskell (such as Yesod and Snap). The point is coming about<br>
&gt; with a Haskell-ish way to program applications, to reuse all the existing<br>
&gt; knowledge for our beloved language.<br>
&gt;<br>
&gt; I&#39;ve added more details in a pre-proposal in Google Docs, available<br>
&gt; in <a href="https://docs.google.com/document/d/1FnTNO9uTobDHRTDXWurKns7vGTjeauw0nRhbtt6vavs/edit" target="_blank">https://docs.google.com/document/d/1FnTNO9uTobDHRTDXWurKns7vGTjeauw0nRhbtt6vavs/edit</a><br>
&gt; Tell me if you prefer to see it in other format, but I didn&#39;t want to<br>
&gt; generate a bigger e-mail.<br>
&gt;<br>
&gt; Thanks in advance.<br>
<br>
</div></div>I definitely think the idea has merit. In general I&#39;m wary of<br>
solutions which try to compile down to Javascript[1], and I&#39;m not sure<br>
if actually providing a full Haskell-to-JS approach is a good idea.<br>
Another possibility might be a DSL/combinator library for generating<br>
JS. Though at this point, I wouldn&#39;t rule out either approach.<br>
<br>
Yesod is currently wrapping up its 1.0 release (almost certainly<br>
out-the-door by the end of April), and after that our main focus is<br>
intended to be client-side integration, so we would certainly be happy<br>
to discuss design ideas and collaborate in general.<br>
<br>
Michael<br>
<br>
[1] I say &quot;compile down to&quot; to mean nontrivial changes, as opposed to<br>
something like Coffeescript, which is a fairly simple conversion.<br>
</blockquote></div><br></div>