name: GrammarProducts version: 0.1.0.0 author: Christian Hoener zu Siederdissen, 2013-2015 copyright: Christian Hoener zu Siederdissen, 2013-2015 homepage: http://www.bioinf.uni-leipzig.de/gADP/ 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.8.4, GHC == 7.10.1 synopsis: Grammar products and higher-dimensional grammars description: 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). . . . Formal background can be found in two papers: . @ Christian Höner zu Siederdissen, Ivo L. Hofacker, and Peter F. Stadler. Product Grammars for Alignment and Folding. 2014. IEEE/ACM Transactions on Computational Biology and Bioinformatics. 99. @ . and . @ Christian Höner zu Siederdissen, Ivo L. Hofacker, and Peter F. Stadler How to Multiply Dynamic Programming Algorithms Brazilian Symposium on Bioinformatics (BSB 2013) Lecture Notes in Bioinformatics 8213, Springer, Heidelberg @ . Extra-Source-Files: changelog.md README.md flag examples description: build the examples (only Needleman-Wunsch for now) default: False manual: True flag llvm description: build using LLVM default: False manual: True library build-depends: base >= 4.7 && < 4.9 , ansi-wl-pprint >= 0.6 && < 0.7 , bytestring >= 0.10 && < 0.11 , containers >= 0.5 && < 0.6 , data-default >= 0.5 && < 0.6 , FormalGrammars == 0.2.0.* , lens >= 4 && < 5 , newtype >= 0.2 && < 0.3 , parsers >= 0.12 && < 0.13 , semigroups >= 0.15 && < 0.17 , template-haskell >= 2 && < 3 , transformers >= 0.4 && < 0.5 , trifecta >= 1.5 && < 1.6 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 && < 4.9 , ADPfusion == 0.4.0.* , containers , FormalGrammars , GrammarProducts , PrimitiveArray == 0.6.0.* , template-haskell , vector == 0.10.* 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 if flag(llvm) ghc-options: -fllvm -optlo-O3 -fllvm-tbaa source-repository head type: git location: git://github.com/choener/GrammarProducts