<p dir="ltr">I second the recommendation to look at Haste. It's what I would pick for a project like this today.</p>
<p dir="ltr">In the big picture, Haste and GHCJS are fairly similar. But when it comes to the ugly details of the runtime system, GHCJS adopts the perspective that it's basically an emulator, where compatibility is the number one goal. Haste goes for a more native approach; while the evaluation semantics and such are completely faithful to Haskell, it doesn't go out of the way to emulate the gritty details of GHC's runtime system.</p>
<div class="gmail_quote">On Sep 4, 2013 3:38 AM, "Nathan Hüsken" <<a href="mailto:nathan.huesken@posteo.de">nathan.huesken@posteo.de</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<div>In my opinion haste is somewhere
between Fay and ghcjs. It supports more than Fay, but in
difference to ghcjs some PrimOps are not supported (weak pointers
for example).<br>
<br>
It is a little bit more "direct" than ghcjs, in the sense that it
does not need such a big rts written in js.<br>
<br>
I like haste :).<br>
<br>
What I wonder is how the outputs of these 3 compilers compare
speed wise.<br>
<br>
On 09/04/2013 11:11 AM, Alejandro Serrano Mena wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">I haven't looked at Haste too much, I'll give it a
try.
<div><br>
</div>
<div>My main problem is that I would like to find a solution
that will continue working in years (somehow, that will became
"the" solution for generating JS from Haskell code). That's
why I see GHCJS (which just includes some patches to
mainstream GHC) as the preferred solution, because it seems
the most probable to continue working when new versions of GHC
appear.</div>
</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">2013/9/4 Niklas Hambüchen <span dir="ltr"><<a href="mailto:mail@nh2.me" target="_blank">mail@nh2.me</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi, I'm also interested in that.<br>
<br>
Have you already evaluated haste?<br>
<br>
It does not seem to have any of your cons, but maybe others.<br>
<br>
What I particularly miss from all solutions is the ability
to simply<br>
call parts written in Haskell from Javascript, e.g. to write
`fib` and<br>
then integrate it into an existing Javascript application
(they are all<br>
more interested in doing the other direction).<br>
<div>
<div><br>
On Wed 04 Sep 2013 17:14:55 JST, Alejandro Serrano Mena
wrote:<br>
> Hi,<br>
> I'm currently writing a tutorial on web
applications using Haskell. I<br>
> know the pros and cons of each server-side library
(Yesod, Snap,<br>
> Scotty, Warp, Happstack), but I'm looking for the
right choice for<br>
> client-side programming that converts Haskell to
JavaScript. I've<br>
> finally come to Fay vs. GHCJS, and would like your
opinion on what's<br>
> the best to tackle. My current list of pros and
cons is:<br>
><br>
> Fay<br>
> ===<br>
> Pros:<br>
> - Does not need GHC 7.8<br>
> - Easy FFI with JS<br>
> - Has libraries for integration with Yesod and Snap<br>
><br>
> Cons:<br>
> - Only supports a subset of GHC (in particular, no
type classes)<br>
><br>
><br>
> GHCJS<br>
> ======<br>
> Pros:<br>
> - Supports full GHC<br>
> - Easy FFI with JS<br>
> - Highly opinionated point: will stay longer than
Fay (but it's very<br>
> important for not having a tutorial that is old in
few months)<br>
><br>
> Cons:<br>
> - Needs GHC 7.8 (but provides a Vagrant image)<br>
><br>
><br>
</div>
</div>
> _______________________________________________<br>
> Haskell-Cafe mailing list<br>
> <a href="mailto:Haskell-Cafe@haskell.org" target="_blank">Haskell-Cafe@haskell.org</a><br>
> <a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
</blockquote>
</div>
<br>
</div>
<br>
<fieldset></fieldset>
<br>
<pre>_______________________________________________
Haskell-Cafe mailing list
<a href="mailto:Haskell-Cafe@haskell.org" target="_blank">Haskell-Cafe@haskell.org</a>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a>
</pre>
</blockquote>
<br>
</div>
<br>_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
<br></blockquote></div>