GrammarProducts-0.1.1.3: GrammarProducts.cabal
name: GrammarProducts
version: 0.1.1.3
author: Christian Hoener zu Siederdissen, 2013-2017
copyright: Christian Hoener zu Siederdissen, 2013-2017
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 == 7.10.3, GHC == 8.0.1
synopsis: Grammar products and higher-dimensional grammars
description:
<http://www.bioinf.uni-leipzig.de/Software/gADP/ generalized Algebraic Dynamic Programming>
.
An algebra of liner 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 (LaTeX, 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
, trifecta >= 1.6
--
, ADPfusion == 0.5.2.*
, FormalGrammars == 0.3.1.*
, PrimitiveArray == 0.8.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
, ParallelListComp
, PatternGuards
, RankNTypes
, ScopedTypeVariables
, StandaloneDeriving
, TemplateHaskell
, UnicodeSyntax
ghc-options:
-O2
-funbox-strict-fields
-- With grammar products, we need a refined way of turning input source files
-- into LaTeX and Haskell modules.
--executable GrammarProductPP
-- build-depends: base >= 4.7 && < 4.9
-- , ansi-wl-pprint
-- , cmdargs >= 0.10 && < 0.11
-- , data-default
-- , FormalGrammars
-- , GrammarProducts
-- , HaTeX >= 3.16 && < 4
-- , lens
-- , semigroups
-- , transformers
-- , trifecta
-- hs-source-dirs:
-- src
-- main-is:
-- GramProd.hs
-- default-language:
-- Haskell2010
-- default-extensions:
-- ghc-options:
-- -O2
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
, FlexibleContexts
, FlexibleInstances
, MultiParamTypeClasses
, QuasiQuotes
, TemplateHaskell
, TypeFamilies
, TypeOperators
ghc-options:
-O2
-fcpr-off
-funbox-strict-fields
-funfolding-use-threshold1000
-funfolding-keeness-factor1000
source-repository head
type: git
location: git://github.com/choener/GrammarProducts