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