# FormalGrammars: A DSL for formal languages in Haskell

*generalized Algebraic Dynamic Programming Homepage*

The gADP homepage has a tutorial and example on how to write algorithms /
grammars.

Ideas implemented here are described in a couple of papers:

- Christian Hoener zu Siederdissen

*Sneaking Around ConcatMap: Efficient Combinators for Dynamic Programming*

2012, Proceedings of the 17th ACM SIGPLAN international conference on Functional programming

paper preprint
- Andrew Farmer, Christian Höner zu Siederdissen, and Andy Gill.

*The HERMIT in the stream: fusing stream fusion’s concatMap*

2014, Proceedings of the ACM SIGPLAN 2014 workshop on Partial evaluation and program manipulation.

paper
- Christian Höner zu Siederdissen, Ivo L. Hofacker, and Peter F. Stadler.

*Product Grammars for Alignment and Folding*

2014, IEEE/ACM Transactions on Computational Biology and Bioinformatics. 99

paper
- Christian Höner zu Siederdissen, Sonja J. Prohaska, and Peter F. Stadler

*Algebraic Dynamic Programming over General Data Structures*

2015, BMC Bioinformatics

preprint
- Maik Riechert, Christian Höner zu Siederdissen, and Peter F. Stadler

*Algebraic dynamic programming for multiple context-free languages*

2015, submitted

preprint

#### Contact

Christian Hoener zu Siederdissen

Leipzig University, Leipzig, Germany

choener@bioinf.uni-leipzig.de

http://www.bioinf.uni-leipzig.de/~choener/