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.

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.

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.

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).

[1]: http://ivorylang.org/ivory-introduction.html
[2]: https://galois.com/project/cryptol/
[3]: https://hackage.haskell.org/package/copilot
[4]: https://hackage.haskell.org/package/atom
[5]: https://hackage.haskell.org/package/sbv
[6]: https://wiki.haskell.org/Parsec
[7]: https://hackage.haskell.org/package/wl-pprint-1.0/docs/Text-PrettyPrint-Leijen.html

On Fri, Mar 27, 2015 at 12:04 AM, Закиров Марат <marat61@gmail.com> wrote:
Hi folks!

Are there any examples of Domain Specific Language (DSL) on Haskell? Thank you in advance.

--
Regards, Marat.
С уважением Марат.

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe