Hi Conal 2007/6/24, Conal Elliott <[EMAIL PROTECTED]>:
By "embedded" DSL, we usually mean identifying meta-language (Haskell) expressions with object language (DSL) expressions, rather than having an "Exp" data type. Then you just use meta-language variables as object-language variables. The new data types you introduce are then domain-oriented rather than language-oriented. Is there a reason that this kind of "embedded" approach doesn't work for you?
Hmm, sorry, I must admit I didn't quite get it. However, in the situation I described, I don't just have an "Exp" data type, rather have it (and probably some other data types) typeful. Which lets me leverage the meta-language's (Haskell's) typing rules to enforce correctness of my DS language's expression correctness. I absolutely didn't want to make an accent on "embedded". Sorry, if that introduced some confusion. And that's not important or principal to me, it's just how I called it. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe