<div dir="ltr"><div>Galois has released a few well-documented examples including Ivory[1], a language for safer systems programming and Cryptol[2], a language for specifying cryptographic algorithms.<br><br></div><div>A couple of other low-level examples are Copilot[3] and Atom[4], both of which generate C for embedded programming but with somewhat different characteristics and aims.<br><br></div><div>On a slightly different note, we have SBV[5] (SMT-based verification) which presents a high-level programming model for using multiple SMT solvers including the recently open-sourced Z3.<br><br></div><div>All of these follow a pretty similar pattern in terms of letting you specify logic and generate code for it. A different sort of DSL can be found in various combinator libraries like Parsec[6] (for parsing) and the Wadler/Leijin Pretty Printer[7] for, well, pretty printing (ie the inverse of parsing).<br></div><div><br></div>[1]: <a href="http://ivorylang.org/ivory-introduction.html">http://ivorylang.org/ivory-introduction.html</a><br>[2]: <a href="https://galois.com/project/cryptol/">https://galois.com/project/cryptol/</a><br>[3]: <a href="https://hackage.haskell.org/package/copilot">https://hackage.haskell.org/package/copilot</a><br>[4]: <a href="https://hackage.haskell.org/package/atom">https://hackage.haskell.org/package/atom</a><br>[5]: <a href="https://hackage.haskell.org/package/sbv">https://hackage.haskell.org/package/sbv</a><br>[6]: <a href="https://wiki.haskell.org/Parsec">https://wiki.haskell.org/Parsec</a><br>[7]: <a href="https://hackage.haskell.org/package/wl-pprint-1.0/docs/Text-PrettyPrint-Leijen.html">https://hackage.haskell.org/package/wl-pprint-1.0/docs/Text-PrettyPrint-Leijen.html</a><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Mar 27, 2015 at 12:04 AM, Закиров Марат <span dir="ltr"><<a href="mailto:marat61@gmail.com" target="_blank">marat61@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Hi folks!<br><br></div>Are there any examples of Domain Specific Language (DSL) on Haskell? Thank you in advance. <br clear="all"><span class="HOEnZb"><font color="#888888"><div><div><div><br>-- <br><div><div dir="ltr"><div><font face="courier new, monospace" size="4"><i>Regards, Marat.<br></i></font></div><font face="courier new, monospace" size="4"><i>С уважением Марат.</i></font></div></div>
</div></div></div></font></span></div>
<br>_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
<br></blockquote></div><br></div>