Joerg,<div><br></div><div>For definitions I&#39;d search for Andres Loeh and &quot;haskell edsl&quot;. His PDF slides also have code examples which&#39;ll help.</div><div><br></div><div>Lennart also gave a talk this year titled &quot;making edsls fly&quot;. The video is on the web.</div>

<div><br></div><div>If you have specific questions bring them to the list! The community is a tremendous resource!</div><div><br></div><div><div>-- Kim-Ee</div><br>
<br><br><div class="gmail_quote">On Wed, Dec 5, 2012 at 2:09 PM, Joerg Fritsch <span dir="ltr">&lt;<a href="mailto:fritsch@joerg.cc" target="_blank">fritsch@joerg.cc</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div style="word-wrap:break-word">Kim-Eeh, Tillmann,<div><br></div><div>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 &quot;only&quot; and I am not focused on it. </div>

<span class="HOEnZb"><font color="#888888"><div><br></div><div>--Joerg</div></font></span><div><div class="h5"><div><br></div><div><br><div><div><div>On Dec 5, 2012, at 2:59 AM, Kim-Ee Yeoh wrote:</div><br><blockquote type="cite">

On Wed, Dec 5, 2012 at 8:32 AM, Tillmann Rendel <span dir="ltr">&lt;<a href="mailto:rendel@informatik.uni-marburg.de" target="_blank">rendel@informatik.uni-marburg.de</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">



I mean internal == embedded, independently of deep vs. shallow, following Martin Fowler [1].<br>[1] <a href="http://martinfowler.com/bliki/DomainSpecificLanguage.html" target="_blank">http://martinfowler.com/bliki/<u></u>DomainSpecificLanguage.html</a><div>



</div></blockquote><div><br></div><div>If I look here [2] I see:</div><div><br></div><div><span style="line-height:22px;color:rgb(51,51,51);font-size:16px;font-family:arial,helvetica,clean,sans-serif">&quot;An </span><b style="vertical-align:baseline;line-height:22px;color:rgb(51,51,51);font-size:16px;font-family:arial,helvetica,clean,sans-serif;margin:0px;outline:0px;border:0px;padding:0px">internal DSL</b><span style="line-height:22px;color:rgb(51,51,51);font-size:16px;font-family:arial,helvetica,clean,sans-serif"> 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 </span><b style="vertical-align:baseline;line-height:22px;color:rgb(51,51,51);font-size:16px;font-family:arial,helvetica,clean,sans-serif;margin:0px;outline:0px;border:0px;padding:0px">Fluent Interfaces</b><span style="line-height:22px;color:rgb(51,51,51);font-size:16px;font-family:arial,helvetica,clean,sans-serif"> or</span><b style="vertical-align:baseline;line-height:22px;color:rgb(51,51,51);font-size:16px;font-family:arial,helvetica,clean,sans-serif;margin:0px;outline:0px;border:0px;padding:0px">Embedded DSLs</b><span style="line-height:22px;color:rgb(51,51,51);font-size:16px;font-family:arial,helvetica,clean,sans-serif">. An </span><b style="vertical-align:baseline;line-height:22px;color:rgb(51,51,51);font-size:16px;font-family:arial,helvetica,clean,sans-serif;margin:0px;outline:0px;border:0px;padding:0px">external DSL</b><span style="line-height:22px;color:rgb(51,51,51);font-size:16px;font-family:arial,helvetica,clean,sans-serif"> is a completely separate language that is parsed into data that the host language can understand.&quot;</span></div>



<div><span style="line-height:22px;color:rgb(51,51,51);font-size:16px;font-family:arial,helvetica,clean,sans-serif"><br></span></div><div><span style="line-height:22px;color:rgb(51,51,51);font-size:16px;font-family:arial,helvetica,clean,sans-serif">Fowler places undue emphasis on the &quot;completely separate language&quot;, 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, &quot;Well, clearly C and haskell are not DSLs, they are general purpose languages!&quot;?</span></div>



<div><br></div><div>[2] <a href="http://martinfowler.com/bliki/DslQandA.html" target="_blank">http://martinfowler.com/bliki/DslQandA.html</a></div><div><br></div>-- Kim-Ee<br>
<br><br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><br>
<br>
______________________________<u></u>_________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org" target="_blank">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/<u></u>mailman/listinfo/haskell-cafe</a><br>
</div></div></blockquote></div><br>
</blockquote></div><br></div></div></div></div></div></blockquote></div><br></div>