ADPfusion-0.5.2.2: ADPfusion.cabal
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:
<http://www.bioinf.uni-leipzig.de/Software/gADP/ 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
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