[Haskell-cafe] Design of a DSL in Haskell

Kim-Ee Yeoh ky3 at atamo.com
Wed Dec 5 02:59:29 CET 2012


On Wed, Dec 5, 2012 at 8:32 AM, Tillmann Rendel <
rendel at informatik.uni-marburg.de> wrote:

> I mean internal == embedded, independently of deep vs. shallow, following
> Martin Fowler [1].
> [1] http://martinfowler.com/bliki/**DomainSpecificLanguage.html<http://martinfowler.com/bliki/DomainSpecificLanguage.html>
>

If I look here [2] I see:

"An *internal DSL* is just a particular idiom of writing code in the host
language. So a Ruby internal DSL is Ruby code, just written in particular
style which gives a more language-like feel. As such they are often
called *Fluent
Interfaces* or*Embedded DSLs*. An *external DSL* is a completely separate
language that is parsed into data that the host language can understand."

Fowler places undue emphasis on the "completely separate language", but
other than that, the correspondence is clear. I wonder how he thinks about
C implementing C? Or ghc implementing haskell in haskell? Would he say,
"Well, clearly C and haskell are not DSLs, they are general purpose
languages!"?

[2] http://martinfowler.com/bliki/DslQandA.html

-- Kim-Ee



>
> ______________________________**_________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/**mailman/listinfo/haskell-cafe<http://www.haskell.org/mailman/listinfo/haskell-cafe>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20121205/45ef7e31/attachment.htm>


More information about the Haskell-Cafe mailing list