
Hi folks! Are there any examples of Domain Specific Language (DSL) on Haskell? Thank you in advance. -- *Regards, Marat.* *С уважением Марат.*

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-Leij...
On Fri, Mar 27, 2015 at 12:04 AM, Закиров Марат
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

Check out relational-record
https://github.com/khibino/haskell-relational-record.
You can write type-checked SQLs in Haskell with it.
2015-03-27 16:04 GMT+09:00 Закиров Марат
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
-- 山本悠滋 twitter: @igrep Facebook: http://www.facebook.com/igrep Google+: https://plus.google.com/u/0/+YujiYamamoto_igrep

Hi,
A very nice example is Lucid for generating HTML:
https://github.com/chrisdone/lucid
It's noteworthy how Chris nicely handles optionality of attributes.
Michal
On Fri, Mar 27, 2015 at 3:04 AM, Закиров Марат
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

Hi,
You may find out FPF, the DSL for describing exotic financial
contracts, interesting.
There's somewhat detailed paper http://arbitrary.name/papers/fpf.pdf.
Also there're less detailed slides
http://www.timphilipwilliams.com/slides/HaskellAtBarclays.pdf which
have more general info on EDSLs in Haskell.
On Fri, Mar 27, 2015 at 9:04 AM, Закиров Марат
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
participants (5)
-
Michal Antkiewicz
-
Sergey Vinokurov
-
Tikhon Jelvis
-
Yuji Yamamoto
-
Закиров Марат