Hello,<br>With your version it compiles. Thanks.<br>Corentin<br><br><div class="gmail_quote">On Thu, Nov 4, 2010 at 7:03 PM, Sebastiaan Visser <span dir="ltr">&lt;<a href="mailto:s@fvisser.nl">s@fvisser.nl</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Dupont,<br>
<br>
The `AwesomePrelude&#39; (we apologize for this name) is a very experimental project that is not a workable library or executable at all. You can better consider it to be a `bunch of code&#39; with some interesting ideas and some interesting potential.<br>

<br>
At least my branch[1] runs on my machine and I&#39;m still able to produce javascript code.<br>
<br>
But don&#39;t expect it to solve any of your problems. ;-) We (at least I) still have some ideas for this project and hope we can someday revive it.<br>
<br>
Cheers,<br>
Sebastiaan<br>
<br>
[1] <a href="https://github.com/sebastiaanvisser/AwesomePrelude" target="_blank">https://github.com/sebastiaanvisser/AwesomePrelude</a><br>
<div><div></div><div class="h5"><br>
On Nov 4, 2010, at 6:51 PM, Dupont Corentin wrote:<br>
&gt; Nobody had the compilation messages I had?<br>
&gt;<br>
&gt; ---------- Forwarded message ----------<br>
&gt; From: Dupont Corentin &lt;<a href="mailto:corentin.dupont@gmail.com">corentin.dupont@gmail.com</a>&gt;<br>
&gt; Date: Tue, Nov 2, 2010 at 2:30 PM<br>
&gt; Subject: [Haskell-cafe] DSL libraries (Was: Map constructor in a DSL)<br>
&gt; To: steffen &lt;<a href="mailto:steffen.siering@googlemail.com">steffen.siering@googlemail.com</a>&gt;, <a href="mailto:haskell-cafe@haskell.org">haskell-cafe@haskell.org</a><br>
&gt;<br>
&gt;<br>
&gt; Hello Steffen,<br>
&gt; can you compile AwesomePrelude?<br>
&gt; I&#39;ve got error messages (see below).<br>
&gt;<br>
&gt; By the way, I&#39;ve looked at some DSLs made in Haskell, if I don&#39;t mistake there are lots of similarities between them.<br>
&gt; There similarities could be put in a library to help the implementors of a DSL, more or less like AwesomePrelude.<br>
&gt;<br>
&gt; Is there already packages on Hackage dealing with that?<br>
&gt;<br>
&gt; Cheers,<br>
&gt; Corentin<br>
&gt;<br>
&gt; AwesomePrelude compilation error:<br>
&gt; I&#39;m using GHC 6.12.1.<br>
&gt;<br>
&gt; &gt; cd tomlokhorst-AwesomePrelude-9819315<br>
&gt; &gt; cabal install<br>
&gt; (...)<br>
&gt; Warning: Lang.Haskell: Instances of type and data families are not yet supported. Instances of the following families will be filtered out:  H<br>
&gt;<br>
&gt;<br>
&gt; Then, when trying with a very simple GATD in GHCI, I&#39;ve got:<br>
&gt;<br>
&gt; &lt;interactive&gt;: HSAwesomePrelude-0.1.0.o: unknown symbol `AwesomePreludezm0zi1zi0_<br>
&gt; CompilerziLiftDefinitions_inline_closure&#39;<br>
&gt; ghc: unable to load package `AwesomePrelude-0.1.0&#39;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; On Thu, Oct 28, 2010 at 2:02 PM, steffen &lt;<a href="mailto:steffen.siering@googlemail.com">steffen.siering@googlemail.com</a>&gt; wrote:<br>
&gt; I think you would love to have a look at AwesomePrelude[1] or a fork<br>
&gt; of AwesomePrelude using associated types[2]<br>
&gt; Some more background information by Tom Lokhorst [3][4].<br>
&gt;<br>
&gt; [1] <a href="http://github.com/tomlokhorst/AwesomePrelude" target="_blank">http://github.com/tomlokhorst/AwesomePrelude</a><br>
&gt; [2] <a href="http://github.com/urso/AwesomePrelude" target="_blank">http://github.com/urso/AwesomePrelude</a><br>
&gt; [3] <a href="http://tom.lokhorst.eu/2009/09/deeply-embedded-dsls" target="_blank">http://tom.lokhorst.eu/2009/09/deeply-embedded-dsls</a><br>
&gt; [4] <a href="http://tom.lokhorst.eu/2010/02/awesomeprelude-presentation-video" target="_blank">http://tom.lokhorst.eu/2010/02/awesomeprelude-presentation-video</a><br>
&gt;<br>
&gt; On 28 Okt., 12:09, Dupont Corentin &lt;<a href="mailto:corentin.dup...@gmail.com">corentin.dup...@gmail.com</a>&gt; wrote:<br>
&gt; &gt; Thank you for your rich responses.<br>
&gt; &gt;<br>
&gt; &gt; Indeed I think I miss some thinks in my DSL, that would make things easier<br>
&gt; &gt; to deal with lists and first class functions.<br>
&gt; &gt; I don&#39;t really know what for now.<br>
&gt; &gt; Perhaps a List Constructor? Or a constructor on functions like yours Ryan?<br>
&gt; &gt; EAp :: Exp ref (a -&gt; b) -&gt; Exp ref a -&gt; Exp ref b<br>
&gt; &gt; It&#39;s from which DSL? It is accessible on the net?<br>
&gt; &gt;<br>
&gt; &gt; Chris suggested me that I can only define the Foldr constructor and deduce<br>
&gt; &gt; Map from it.<br>
&gt; &gt; But maybe I have to add a List constructor for that.<br>
&gt; &gt;<br>
&gt; &gt; But in the suggestions from Ryan and Brandon I don&#39;t understand why I should<br>
&gt; &gt; add an extra type parameter and what it is!<br>
&gt; &gt;<br>
&gt; &gt; Steffen: Wow nice. I&#39;ll integrate that ;)<br>
&gt; &gt;<br>
&gt; &gt; I&#39;m also looking at the Atom&#39;s DSL to get inspiration.<br>
&gt; &gt; Something I don&#39;t understand in it is that it has two languages, on typed:<br>
&gt; &gt;<br>
&gt; &gt; data E a where<br>
&gt; &gt;   VRef    :: V a -&gt; E a<br>
&gt; &gt;   Const   :: a -&gt; E a<br>
&gt; &gt;   Cast    :: (NumE a, NumE b) =&gt; E a -&gt; E b<br>
&gt; &gt;   Add     :: NumE a =&gt; E a -&gt; E a -&gt; E a<br>
&gt; &gt; etc.<br>
&gt; &gt;<br>
&gt; &gt; And, along with it, an untyped counterpart:<br>
&gt; &gt;<br>
&gt; &gt; -- | An untyped term.<br>
&gt; &gt; data UE<br>
&gt; &gt;   = UVRef UV<br>
&gt; &gt;   | UConst Const<br>
&gt; &gt;   | UCast  Type UE<br>
&gt; &gt;   | UAdd   UE UE<br>
&gt; &gt; etc.<br>
&gt; &gt;<br>
&gt; &gt; What that for? What&#39;s the use of having beautiful GADT if you have to<br>
&gt; &gt; maintain an untyped ADT aside??<br>
&gt; &gt;<br>
&gt; &gt; Corentin<br>
&gt; &gt;<br>
&gt; &gt; _______________________________________________<br>
&gt; &gt; Haskell-Cafe mailing list<br>
&gt; &gt; Haskell-C...@haskell.orghttp://<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
&gt; _______________________________________________<br>
&gt; Haskell-Cafe mailing list<br>
&gt; <a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
&gt; <a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; Haskell-Cafe mailing list<br>
&gt; <a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
&gt; <a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
<br>
</div></div></blockquote></div><br>