</div><div><br>Yes, EDSL is Embedded Domain-Specific Language. Although, I&#39;m not sure I understand what you are asking. I looked at the wiki page which Conal created and he does mention using an EDSL in Haskell to generate code. Perhaps this is what you want to know more about?<br>

<br>There is a paper linked from the wiki page that should help a lot with answering questions you have about the technique. For a simple example of how it can work, I wrote a program called Autoproc that &#39;compiles&#39; the haskell EDSL into a procmail recipe. You can find the source code here:<br>

darcs get <a href="http://projects.codersbase.com/repos/autoproc/" target="_blank">http://projects.codersbase.com/repos/autoproc/</a><br><br>It&#39;s really not much code so it should be easy to wrap your mind around it. I call the above code simple, but it works quite well and illustrates that a little bit of Haskell can go a long ways :)<br>

<br>How it works is that the expressions you code up in Haskell build up values which correspond to the abstract syntax, or your intermediate representation. You can then transform that representation and do whatever a compiler or translator would normally do and the target format is some other language or machine code.<br>

<br>This technique allows you to reuse the facilites of the host language, such as strong static typing and laziness, the parser, standard libs and so on. It&#39;s a great way to prototype a language and work out the kinks before you invest in making a stand alone implementation. And all that aside, it&#39;s just plain fun.<br>