GrammarProducts-0.2.0.0: GrammarProducts.cabal
name: GrammarProducts
version: 0.2.0.0
author: Christian Hoener zu Siederdissen, 2013-2019
copyright: Christian Hoener zu Siederdissen, 2013-2019
homepage: https://github.com/choener/GrammarProducts
bug-reports: https://github.com/choener/GrammarProducts/issues
maintainer: choener@bioinf.uni-leipzig.de
category: Formal Languages, Bioinformatics
license: GPL-3
license-file: LICENSE
build-type: Simple
stability: experimental
cabal-version: >= 1.10.0
tested-with: GHC == 8.6.4
synopsis: Grammar products and higher-dimensional grammars
description:
<http://www.bioinf.uni-leipzig.de/Software/gADP/ generalized Algebraic Dynamic Programming>
.
An algebra of linear and context-free grammars.
.
This library provides the implementation of our theory of algebraic operations over
linear and context-free grammars. Using algebraic operations, it is possible to
construct complex dynamic programming algorithms from simpler "atomic" grammars.
.
Our most important contribution is the definition of a product of grammars which
naturally leads to alignment-like algorithms on multiple tapes.
.
An efficient implementation of the resulting grammars is possible via the ADPfusion
framework. The @FormalGrammars@ library provides the required "Template Haskell"
machinery. GramarProducts can be integrated as a plugin into the existing
transformation from DSL to ADPfusion. Haskell users can just use the QQ function
provided in the .QQ module.
.
Alternatively, the resulting grammars can also be pretty-printed in various ways
(ANSI, Haskell module with signature and grammar).
.
The formal background can be found in two papers given in the README. The gADP
homepage has further details, tutorials, examples.
.
Extra-Source-Files:
changelog.md
README.md
flag examples
description: build the examples (only Needleman-Wunsch for now)
default: False
manual: True
library
build-depends: base >= 4.7 && < 5.0
, ansi-wl-pprint >= 0.6
, bytestring >= 0.10
, containers >= 0.5
, data-default >= 0.5
, lens >= 4
, newtype >= 0.2
, parsers >= 0.12
, semigroups >= 0.15
, template-haskell >= 2
, transformers >= 0.4
-- due to we still using ansi-wl-pprint
, trifecta >= 1.7.1.1 && < 2.1
--
, ADPfusion == 0.6.0.*
, FormalGrammars == 0.4.0.*
, PrimitiveArray == 0.10.0.*
exposed-modules:
FormalLanguage.GrammarProduct
FormalLanguage.GrammarProduct.Op
FormalLanguage.GrammarProduct.Op.Add
FormalLanguage.GrammarProduct.Op.Chomsky
-- FormalLanguage.GrammarProduct.Op.Chomsky.Proof
FormalLanguage.GrammarProduct.Op.Common
FormalLanguage.GrammarProduct.Op.Greibach
-- FormalLanguage.GrammarProduct.Op.Greibach.Proof
FormalLanguage.GrammarProduct.Op.Linear
FormalLanguage.GrammarProduct.Op.Power
FormalLanguage.GrammarProduct.Op.Subtract
FormalLanguage.GrammarProduct.Parser
FormalLanguage.GrammarProduct.QQ
default-language:
Haskell2010
default-extensions: FlexibleContexts
, FlexibleInstances
, GeneralizedNewtypeDeriving
, LambdaCase
, NoMonomorphismRestriction
, OverloadedStrings
, PackageImports
, ParallelListComp
, PatternGuards
, RankNTypes
, ScopedTypeVariables
, StandaloneDeriving
, TemplateHaskell
, TypeApplications
, UnicodeSyntax
ghc-options:
-O2
-funbox-strict-fields
executable AlignGlobal
if flag(examples)
build-depends: base >= 4.7 && < 5.0
, containers
, template-haskell
, vector >= 0.10
--
, ADPfusion
, FormalGrammars >= 0.3
, GrammarProducts
, PrimitiveArray
buildable: True
else
buildable: False
hs-source-dirs:
src
main-is:
AlignGlobal.hs
default-language:
Haskell2010
default-extensions: BangPatterns
, DataKinds
, FlexibleContexts
, FlexibleInstances
, MultiParamTypeClasses
, QuasiQuotes
, TemplateHaskell
, TypeApplications
, TypeFamilies
, TypeOperators
ghc-options:
-O2
-funbox-strict-fields
-funfolding-use-threshold1000
-funfolding-keeness-factor1000
test-suite properties
type:
exitcode-stdio-1.0
main-is:
properties.hs
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
source-repository head
type: git
location: git://github.com/choener/GrammarProducts