Kim-Eeh, Tillmann, I am interested in the definition of deep vs shallow embedded, even if it is not featured in the Fowler textbook. Fowler that is one textbook "only" and I am not focused on it. --Joerg On Dec 5, 2012, at 2:59 AM, Kim-Ee Yeoh wrote:
On Wed, Dec 5, 2012 at 8:32 AM, Tillmann Rendel
wrote: I mean internal == embedded, independently of deep vs. shallow, following Martin Fowler [1]. [1] 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 orEmbedded 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@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe