[![Build Status](https://travis-ci.org/choener/FormalGrammars.svg?branch=master)](https://travis-ci.org/choener/FormalGrammars) # FormalGrammars: A DSL for formal languages in Haskell [*generalized Algebraic Dynamic Programming Homepage*](http://www.bioinf.uni-leipzig.de/Software/gADP/) The gADP homepage has a tutorial and example on how to write algorithms / grammars. Ideas implemented here are described in a couple of papers: 1. 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](http://doi.acm.org/10.1145/2364527.2364559) [preprint](http://www.tbi.univie.ac.at/newpapers/pdfs/TBI-p-2012-2.pdf) 1. 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](http://dl.acm.org/citation.cfm?doid=2543728.2543736) 1. 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](http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6819790) 1. Christian Höner zu Siederdissen, Sonja J. Prohaska, and Peter F. Stadler *Algebraic Dynamic Programming over General Data Structures* 2015, BMC Bioinformatics [preprint](http://www.bioinf.uni-leipzig.de/Software/gADP/preprints/hoe-pro-2015.pdf) 1. Maik Riechert, Christian Höner zu Siederdissen, and Peter F. Stadler *Algebraic dynamic programming for multiple context-free languages* 2016, Theoretical Computer Science [preprint](http://www.bioinf.uni-leipzig.de/Software/gADP/preprints/rie-hoe-2015.pdf) #### Contact Christian Hoener zu Siederdissen Leipzig University, Leipzig, Germany choener@bioinf.uni-leipzig.de http://www.bioinf.uni-leipzig.de/~choener/