datafix-0.0.1.0: datafix.cabal
name: datafix
version: 0.0.1.0
synopsis: Fixing data-flow problems
description: Fixing data-flow problems in expression trees.
This should be useful if you want to write optimizations
for your favorite programming language.
See the Tutorial module for an introduction. After that,
you might want to take a look at the `examples/` folder
in the [repository](https://github.com/sgraf812/datafix/tree/master/examples).
license: ISC
license-file: LICENSE
author: Sebastian Graf
maintainer: sgraf1337@gmail.com
copyright: © 2017-2020 Sebastian Graf
homepage: https://github.com/sgraf812/datafix
bug-reports: https://github.com/sgraf812/datafix/issues
category: Compiler
build-type: Custom
stability: alpha (experimental)
-- We have autogen-modules, so we need Cabal 2.0
cabal-version: 2.0
tested-with: GHC==8.8.1, GHC==8.6.5, GHC==8.4.4, GHC==8.2.2
extra-source-files:
CHANGELOG.md
README.md
stack.yaml
exprs/const.hs
exprs/findLT.hs
exprs/kahan.hs
exprs/lambda.hs
exprs/sieve.hs
source-repository head
type: git
location: https://github.com/sgraf812/datafix
custom-setup
setup-depends:
base
, Cabal
, cabal-doctest >= 1 && < 1.1
, cabal-toolkit >= 0.0.4
library
default-language: Haskell2010
ghc-options: -Wall
hs-source-dirs: src
exposed-modules: Datafix
Datafix.Common
Datafix.Denotational
Datafix.Explicit
Datafix.MonoMap
Datafix.NodeAllocator
Datafix.FrameworkBuilder
Datafix.Tutorial
Datafix.Utils.Constraints
Datafix.Utils.TypeLevel
Datafix.Worklist
Datafix.Worklist.Denotational
Datafix.Worklist.Graph
Datafix.Worklist.Graph.Dense
Datafix.Worklist.Graph.Sparse
Datafix.Worklist.Internal
other-modules:
Datafix.Entailments
Datafix.Utils.GrowableVector
Datafix.IntArgsMonoMap
Datafix.IntArgsMonoSet
build-depends: base >= 4.8 && < 5
, containers >= 0.5 && < 0.7
, transformers < 0.6
-- Just Data.Vector.Mutable, which has been there for ages
, vector < 0.13
-- Data.Primitive.Array.sizeofArray was introduced in 0.6.2.0
, primitive >= 0.6.2.0 && < 0.8
-- Prior to 0.2, pomaps used to offer a flag to compile without
-- lattices that confuses CI
, pomaps >= 0.2 && < 0.3
, lattices
test-suite tests
type: exitcode-stdio-1.0
default-language: Haskell2010
ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N
hs-source-dirs: tests examples
main-is: Main.hs
other-modules: Analyses.AdHocStrAnal
Analyses.StrAnal
Analyses.StrAnal.Analysis
Analyses.StrAnal.Arity
Analyses.StrAnal.Strictness
Analyses.Syntax.CoreSynF
Analyses.Syntax.MkCoreHelpers
Analyses.Syntax.MkCoreFromFile
Analyses.Templates.LetDn
SetRecurrences.FirstFollow
Fib
Fac
Mutual
Critical
Trivial
StrAnal
FirstFollow
build-depends: base >= 4.8 && < 5
, Cabal
, cabal-toolkit >= 0.0.4
, tasty >= 0.11
, tasty-hunit >= 0.9
, tasty-smallcheck >= 0.8
, containers
, primitive
, transformers < 0.6
, datafix
, ghc
, ghc-paths
, directory
, filepath
, turtle
, text
, lattices < 2
test-suite doctests
type: exitcode-stdio-1.0
default-language: Haskell2010
ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N
hs-source-dirs: tests
main-is: doctest.hs
build-depends: base >= 4.8 && < 5
, doctest >=0.10
, QuickCheck >= 2.5
, datafix
other-modules: Build_doctests
autogen-modules: Build_doctests
benchmark benchmarks
type: exitcode-stdio-1.0
default-language: Haskell2010
ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N
hs-source-dirs: bench examples
main-is: Main.hs
other-modules: Analyses.AdHocStrAnal
Analyses.StrAnal
Analyses.StrAnal.Analysis
Analyses.StrAnal.Arity
Analyses.StrAnal.Strictness
Analyses.Syntax.CoreSynF
Analyses.Syntax.MkCoreHelpers
Analyses.Syntax.MkCoreFromFile
Analyses.Templates.LetDn
Sum
build-depends: base >= 4.8 && < 5
, Cabal
, cabal-toolkit >= 0.0.4
, criterion >= 1.1
, deepseq
, containers
, primitive
, transformers < 0.6
, datafix
, ghc
, ghc-paths
, directory
, filepath
, turtle
, text
, lattices < 2
executable firstfollow-example
default-language: Haskell2010
hs-source-dirs: examples
main-is: SetRecurrences/FirstFollow/Main.hs
ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N
other-modules: SetRecurrences.FirstFollow
build-depends: base
, containers
, datafix