The ADPfusion package

[Tags: bsd3, library]

ADPfusion combines stream-fusion (using the stream interface provided by the vector library) and type-level programming to provide highly efficient dynamic programming combinators.

ADPfusion allows writing dynamic programs for single- and multi-tape problems. Inputs can be sequences, or sets. And new input types can be defined, without having to rewrite this library thanks to the open-world assumption of ADPfusion.

The library provides the machinery for Outside and Ensemble algorithms as well. Ensemble algorithms combine Inside and Outside calculations.

The homepage provides a number of tutorial-style examples, with linear and context-free grammars over sequence and set inputs.

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
http://doi.acm.org/10.1145/2364527.2364559 preprint: http://www.tbi.univie.ac.at/newpapers/pdfs/TBI-p-2012-2.pdf
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.
http://dl.acm.org/citation.cfm?doid=2543728.2543736
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.
http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6819790
Christian Höner zu Siederdissen, Sonja J. Prohaska, and Peter F. Stadler.
Algebraic Dynamic Programming over General Data Structures.
2015. submitted.

Properties

Versions0.0.1.0, 0.0.1.1, 0.0.1.2, 0.1.0.0, 0.2.0.0, 0.2.0.1, 0.2.0.2, 0.2.0.3, 0.2.0.4, 0.2.1.0, 0.4.0.0, 0.4.0.1, 0.4.0.2 (info)
Change logchangelog.md
DependenciesADPfusion, base (>=4.7 && <4.9), bits (==0.4.*), log-domain (==0.10.*), mmorph (==1.0.*), monad-primitive (==0.1), mtl (==2.*), OrderedBits (==0.0.0.*), primitive (>=0.5.4 && <0.7), PrimitiveArray (==0.6.0.*), QuickCheck (>=2.7 && <2.9), strict (==0.3.*), template-haskell (==2.*), transformers (>=0.3 && <0.5), tuple (==0.3.*), vector (==0.10.*)
LicenseBSD3
CopyrightChristian Hoener zu Siederdissen, 2011-2015
AuthorChristian Hoener zu Siederdissen, 2011-2015
Maintainerchoener@bioinf.uni-leipzig.de
Stabilityexperimental
CategoryAlgorithms, Data Structures, Bioinformatics, Formal Languages
Home pagehttp://www.bioinf.uni-leipzig.de/Software/gADP/
Source repositoryhead: git clone git://github.com/choener/ADPfusion
ExecutablesDurbin, PartNussinov, Nussinov, NeedlemanWunsch
UploadedFri May 8 01:36:49 UTC 2015 by ChristianHoener
DistributionsNixOS:0.4.0.2
Downloads2573 total (174 in last 30 days)
StatusDocs available [build log]
Last success reported on 2015-05-08 [all 1 reports]

Modules

[Index]

Flags

NameDescriptionDefault
examplesbuild the examplesDisabled
llvmbuild using LLVMDisabled
debugdump intermediate Core filesDisabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainers' corner

For package maintainers and hackage trustees