name: ADPfusion version: 0.5.2.2 author: Christian Hoener zu Siederdissen, 2011-2016 copyright: Christian Hoener zu Siederdissen, 2011-2016 homepage: https://github.com/choener/ADPfusion bug-reports: https://github.com/choener/ADPfusion/issues maintainer: choener@bioinf.uni-leipzig.de category: Algorithms, Data Structures, Bioinformatics, Formal Languages license: BSD3 license-file: LICENSE build-type: Simple stability: experimental cabal-version: >= 1.10.0 tested-with: GHC == 7.10.3, GHC == 8.0.1 synopsis: Efficient, high-level dynamic programming. description: . 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 progrmaming and ADPfusion is described in a number of papers. These can be found on the gADP homepage and in the README. . Extra-Source-Files: README.md changelog.md flag debug description: Enable bounds checking and various other debug operations at the cost of a significant performance penalty. default: False manual: True flag debugoutput description: Enable debug output, which spams the screen full of index information default: False manual: True flag debugdump description: Enable dumping intermediate / core files default: False manual: True flag examples description: build the examples default: False manual: True flag spectest description: build the spec-ctor test case default: False manual: True flag devel description: build additional tests default: False manual: True flag btstruc description: performance test for backtracking structures default: False manual: True library build-depends: base >= 4.7 && < 5.0 , bits >= 0.4 , containers , mmorph >= 1.0 , mtl >= 2.0 , primitive >= 0.5.4 , QuickCheck >= 2.7 , strict >= 0.3 , template-haskell >= 2.0 , th-orphans >= 0.12 , transformers >= 0.3 , tuple >= 0.3 , vector >= 0.11 -- , DPutils == 0.0.1.* , OrderedBits == 0.0.1.* , PrimitiveArray == 0.8.0.* exposed-modules: -- multi imports ADP.Fusion.Core ADP.Fusion.Point ADP.Fusion.Unit -- core system ADP.Fusion.Core.Apply ADP.Fusion.Core.Classes ADP.Fusion.Core.Multi ADP.Fusion.Core.TH ADP.Fusion.Core.TH.Backtrack ADP.Fusion.Core.TH.Common ADP.Fusion.Core.TyLvlIx ADP.Fusion.SynVar.Array ADP.Fusion.SynVar.Array.Type ADP.Fusion.SynVar.Axiom ADP.Fusion.SynVar.Backtrack ADP.Fusion.SynVar.Fill ADP.Fusion.SynVar.Indices.Classes ADP.Fusion.SynVar.Recursive.Type ADP.Fusion.SynVar.Split.Type ADP.Fusion.SynVar.TableWrap ADP.Fusion.Term.Chr.Type ADP.Fusion.Term.Deletion.Type ADP.Fusion.Term.Edge.Type ADP.Fusion.Term.Epsilon.Type ADP.Fusion.Term.PeekIndex.Type ADP.Fusion.Term.Strng.Type -- Point ADP.Fusion.Core.Point ADP.Fusion.SynVar.Indices.Point ADP.Fusion.SynVar.Recursive.Point ADP.Fusion.Term.Chr.Point ADP.Fusion.Term.Deletion.Point ADP.Fusion.Term.Epsilon.Point ADP.Fusion.Term.Strng.Point -- Unit ADP.Fusion.Core.Unit ADP.Fusion.SynVar.Indices.Unit ADP.Fusion.Term.Deletion.Unit ADP.Fusion.Term.Epsilon.Unit -- tutorials ADP.Fusion.Tutorial.NeedlemanWunsch default-extensions: BangPatterns , ConstraintKinds , CPP , DataKinds , DefaultSignatures , DeriveDataTypeable , DeriveGeneric , FlexibleContexts , FlexibleInstances , GADTs , KindSignatures , MultiParamTypeClasses , RankNTypes , RecordWildCards , ScopedTypeVariables , StandaloneDeriving , TemplateHaskell , TupleSections , TypeFamilies , TypeOperators , TypeSynonymInstances , UndecidableInstances default-language: Haskell2010 ghc-options: -O2 -funbox-strict-fields if flag(debugdump) ghc-options: -ddump-to-file -ddump-simpl -dsuppress-all test-suite properties type: exitcode-stdio-1.0 main-is: properties.hs other-modules: QuickCheck.Common QuickCheck.Point ghc-options: -threaded -rtsopts -with-rtsopts=-N hs-source-dirs: tests default-language: Haskell2010 default-extensions: BangPatterns , CPP , FlexibleContexts , FlexibleInstances , MultiParamTypeClasses , ScopedTypeVariables , TemplateHaskell , TypeFamilies , TypeOperators , TypeSynonymInstances cpp-options: -DADPFUSION_TEST_SUITE_PROPERTIES build-depends: base , ADPfusion , bits , OrderedBits , PrimitiveArray , QuickCheck , strict , tasty >= 0.11 , tasty-quickcheck >= 0.8 , tasty-th >= 0.1 , vector -- Very simple two-sequence alignment. executable NeedlemanWunsch if flag(examples) buildable: True build-depends: base , ADPfusion , primitive , PrimitiveArray , template-haskell , vector else buildable: False hs-source-dirs: src main-is: NeedlemanWunsch.hs default-language: Haskell2010 default-extensions: BangPatterns , FlexibleContexts , FlexibleInstances , MultiParamTypeClasses , RecordWildCards , TemplateHaskell , TypeFamilies , TypeOperators ghc-options: -O2 -funbox-strict-fields -funfolding-use-threshold1000 -funfolding-keeness-factor1000 if flag(debugdump) ghc-options: -ddump-to-file -ddump-simpl -dsuppress-all -- Very simple two-sequence alignment. executable spectest if flag(spectest) buildable: True build-depends: base , ADPfusion , PrimitiveArray , template-haskell , vector else buildable: False hs-source-dirs: src main-is: SpecTest.hs default-language: Haskell2010 default-extensions: BangPatterns , FlexibleContexts , FlexibleInstances , MultiParamTypeClasses , RecordWildCards , TemplateHaskell , TypeFamilies , TypeOperators ghc-options: -O2 -funbox-strict-fields -funfolding-use-threshold1000 -funfolding-keeness-factor1000 -- if flag(debug) -- ghc-options: -- -ddump-to-file -- -ddump-simpl -- -dsuppress-all benchmark TestBacktrackingStructures type: exitcode-stdio-1.0 if flag(btstruc) buildable: True build-depends: base , template-haskell , fmlist >= 0.9 , vector , criterion >= 1.1 else buildable: False hs-source-dirs: tests main-is: BacktrackingStructures.hs default-language: Haskell2010 default-extensions: BangPatterns , FlexibleContexts , FlexibleInstances , MultiParamTypeClasses , RecordWildCards , TemplateHaskell , TypeFamilies , TypeOperators ghc-options: -O2 -funfolding-use-threshold1000 -funfolding-keeness-factor1000 source-repository head type: git location: git://github.com/choener/ADPfusion