Joerg,
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.--JoergOn Dec 5, 2012, at 2:59 AM, Kim-Ee Yeoh wrote:On Wed, Dec 5, 2012 at 8:32 AM, Tillmann Rendel <rendel@informatik.uni-marburg.de> wrote:I mean internal == embedded, independently of deep vs. shallow, following Martin Fowler [1].
[1] http://martinfowler.com/bliki/DomainSpecificLanguage.htmlIf 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!"?-- Kim-Ee
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe