[Haskell-cafe] problem implementing an EDSL in Haskell

Daniil Elovkov daniil.elovkov at googlemail.com
Mon Jun 25 10:20:58 EDT 2007


Hi Conal

2007/6/24, Conal Elliott <conal at conal.net>:
> 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.


More information about the Haskell-Cafe mailing list