ADPfusion: Efficient, high-level dynamic programming.
generalized Algebraic Dynamic Programming
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. 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.
Starting with version 0.4.1 we support writing multiple context-free grammars (interleaved syntactic variables). Such grammars have applications in bioinformatics and linguistics.
The homepage provides a number of tutorial-style examples, with linear and context-free grammars over sequence and set inputs.
The formal background for generalized algebraic dynamic programming and ADPfusion is described in a number of papers. These can be found on the gADP homepage and in the README.
Note: The core ADPfusion
library only provides machinery for linear language over
sequences. The add-ons ADPfusionSubword
, ADPfusionForest
, and others provide
specialized machinery for other types of formal languages.
[Skip to Readme]
Modules
[Index] [Quick Jump]
- ADP
- Fusion
- ADP.Fusion.Core
- ADP.Fusion.Core.Apply
- ADP.Fusion.Core.Classes
- ADP.Fusion.Core.Multi
- SynVar
- ADP.Fusion.Core.TH
- Term
- ADP.Fusion.Core.TyLvlIx
- ADP.Fusion.PointL
- ADP.Fusion.PointR
- ADP.Fusion.Unit
- ADP.Fusion.Core
- Fusion
Flags
Manual Flags
Name | Description | Default |
---|---|---|
debug | Enable bounds checking and various other debug operations at the cost of a significant performance penalty. | Disabled |
debugoutput | Enable debug output, which spams the screen full of index information | Disabled |
debugdump | Enable dumping intermediate / core files | Disabled |
dump-core | Dump HTML for the core generated by GHC during compilation | Disabled |
examples | build the examples | Disabled |
spectest | build the spec-ctor test case | Disabled |
devel | build additional tests | Disabled |
btstruc | performance test for backtracking structures | Disabled |
llvm | use llvm | Disabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- ADPfusion-0.6.0.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
Versions [RSS] | 0.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, 0.4.1.0, 0.4.1.1, 0.5.0.0, 0.5.1.0, 0.5.2.0, 0.5.2.2, 0.6.0.0 (info) |
---|---|
Change log | changelog.md |
Dependencies | base (>=4.7 && <5.0), bits (>=0.4), containers, deepseq, DPutils (>=0.1.0 && <0.1.1), ghc-prim, mmorph (>=1.0), mtl (>=2.0), OrderedBits (>=0.0.2 && <0.0.3), primitive (>=0.5.4), PrimitiveArray (>=0.10.0 && <0.10.1), QuickCheck (>=2.7), singletons (>=2.4), strict (>=0.3), template-haskell (>=2.0), th-orphans (>=0.12), transformers (>=0.3), tuple (>=0.3), vector (>=0.11) [details] |
Tested with | ghc ==8.6.4 |
License | BSD-3-Clause |
Copyright | Christian Hoener zu Siederdissen, 2011-2019 |
Author | Christian Hoener zu Siederdissen, 2011-2019 |
Maintainer | choener@bioinf.uni-leipzig.de |
Category | Algorithms, Data Structures, Bioinformatics, Formal Languages |
Home page | https://github.com/choener/ADPfusion |
Bug tracker | https://github.com/choener/ADPfusion/issues |
Source repo | head: git clone git://github.com/choener/ADPfusion |
Uploaded | by ChristianHoener at 2019-10-01T18:22:22Z |
Distributions | |
Reverse Dependencies | 15 direct, 1 indirect [details] |
Executables | spectest, SmithWaterman, NeedlemanWunsch |
Downloads | 19656 total (25 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs available [build log] Last success reported on 2019-10-01 [all 1 reports] |