packages feed

ecta-1.0.0.0: ecta.cabal

cabal-version:      1.12
name:               ecta
version:            1.0.0.0
license:            BSD3
license-file:       LICENSE
copyright:          2021 Jimmy Koppel
maintainer:         darmanithird@gmail.com
author:             Jimmy Koppel
homepage:           https://github.com/jkoppel/ecta#readme
bug-reports:        https://github.com/jkoppel/ecta/issues
description:
    Please see the README on GitHub at <https://github.com/jkoppel/ecta#readme>

build-type:         Simple
extra-source-files:
    README.md
    ChangeLog.md

source-repository head
    type:     git
    location: https://github.com/jkoppel/ecta

flag profile-caches
    default: False
    manual:  True

library
    exposed-modules:
        Application.SAT
        Application.TermSearch.Dataset
        Application.TermSearch.Evaluation
        Application.TermSearch.TermSearch
        Application.TermSearch.Type
        Application.TermSearch.Utils
        Data.ECTA
        Data.ECTA.Internal.ECTA.Enumeration
        Data.ECTA.Internal.ECTA.Operations
        Data.ECTA.Internal.ECTA.Type
        Data.ECTA.Internal.ECTA.Visualization
        Data.ECTA.Internal.Paths
        Data.ECTA.Internal.Paths.Zipper
        Data.ECTA.Internal.Term
        Data.ECTA.Paths
        Data.ECTA.Term
        Data.HashTable.Extended
        Data.Interned.Extended.HashTableBased
        Data.Interned.Extended.SingleThreaded
        Data.Memoization
        Data.Memoization.Metrics
        Data.Persistent.UnionFind
        Data.Text.Extended.Pretty
        Utility.Fixpoint
        Utility.HashJoin

    hs-source-dirs:     src
    other-modules:      Paths_ecta
    default-language:   Haskell2010
    default-extensions:
        BangPatterns ConstraintKinds DataKinds DefaultSignatures
        DeriveDataTypeable DeriveGeneric EmptyDataDecls
        ExistentialQuantification FlexibleContexts FlexibleInstances
        FunctionalDependencies GADTs GeneralizedNewtypeDeriving
        KindSignatures LambdaCase MultiParamTypeClasses NamedFieldPuns
        PatternGuards PatternSynonyms RankNTypes ScopedTypeVariables
        StandaloneDeriving TupleSections TypeApplications TypeFamilies
        TypeOperators ViewPatterns

    ghc-options:        -Wall
    build-depends:
        array >=0.5.4.0 && <0.6,
        base >=4.14.3.0 && <4.15,
        cmdargs >=0.10.21 && <0.11,
        containers >=0.6.5.1 && <0.7,
        equivalence >=0.3.5 && <0.4,
        extra >=1.7.9 && <1.8,
        fgl >=5.7.0.3 && <5.8,
        hashable >=1.3.0.0 && <1.4,
        hashtables >=1.2.4.2 && <1.3,
        ilist >=0.4.0.1 && <0.5,
        intern >=0.9.4 && <0.10,
        language-dot >=0.1.1 && <0.2,
        lens >=4.19.2 && <4.20,
        mtl >=2.2.2 && <2.3,
        pipes >=4.3.16 && <4.4,
        pretty-simple >=4.0.0.0 && <4.1,
        raw-strings-qq ==1.1.*,
        text >=1.2.4.1 && <1.3,
        time >=1.9.3 && <1.10,
        unordered-containers >=0.2.16.0 && <0.3,
        vector >=0.12.3.1 && <0.13,
        vector-instances ==3.4.*

    if flag(profile-caches)
        cpp-options: -DPROFILE_CACHES

executable hectare
    main-is:            Main.hs
    hs-source-dirs:     app
    other-modules:      Paths_ecta
    default-language:   Haskell2010
    default-extensions:
        BangPatterns ConstraintKinds DataKinds DefaultSignatures
        DeriveDataTypeable DeriveGeneric EmptyDataDecls
        ExistentialQuantification FlexibleContexts FlexibleInstances
        FunctionalDependencies GADTs GeneralizedNewtypeDeriving
        KindSignatures LambdaCase MultiParamTypeClasses NamedFieldPuns
        PatternGuards PatternSynonyms RankNTypes ScopedTypeVariables
        StandaloneDeriving TupleSections TypeApplications TypeFamilies
        TypeOperators ViewPatterns

    ghc-options:        -threaded -rtsopts -with-rtsopts=-N -Wall
    build-depends:
        base >=4.14.3.0 && <4.15,
        cmdargs >=0.10.21 && <0.11,
        containers >=0.6.5.1 && <0.7,
        ecta -any,
        hashable >=1.3.0.0 && <1.4,
        language-dot >=0.1.1 && <0.2,
        mtl >=2.2.2 && <2.3,
        pipes >=4.3.16 && <4.4,
        pretty-simple >=4.0.0.0 && <4.1,
        text >=1.2.4.1 && <1.3,
        time >=1.9.3 && <1.10,
        unordered-containers >=0.2.16.0 && <0.3,
        vector >=0.12.3.1 && <0.13

    if flag(profile-caches)
        cpp-options: -DPROFILE_CACHES

test-suite unit-tests
    type:               exitcode-stdio-1.0
    main-is:            Spec.hs
    build-tool-depends: hspec-discover:hspec-discover -any
    hs-source-dirs:     test
    other-modules:
        CacheProfilingSpec
        Data.Persistent.UnionFindSpec
        ECTASpec
        PathsSpec
        SATSpec
        Test.Generators.ECTA
        Utility.HashJoinSpec
        Paths_ecta

    default-language:   Haskell2010
    default-extensions:
        BangPatterns ConstraintKinds DataKinds DefaultSignatures
        DeriveDataTypeable DeriveGeneric EmptyDataDecls
        ExistentialQuantification FlexibleContexts FlexibleInstances
        FunctionalDependencies GADTs GeneralizedNewtypeDeriving
        KindSignatures LambdaCase MultiParamTypeClasses NamedFieldPuns
        PatternGuards PatternSynonyms RankNTypes ScopedTypeVariables
        StandaloneDeriving TupleSections TypeApplications TypeFamilies
        TypeOperators ViewPatterns

    ghc-options:        -threaded -rtsopts -with-rtsopts=-N -Wall -Wno-orphans
    build-depends:
        QuickCheck >=2.14.2 && <2.15,
        base >=4.14.3.0 && <4.15,
        cmdargs >=0.10.21 && <0.11,
        containers >=0.6.5.1 && <0.7,
        ecta -any,
        equivalence >=0.3.5 && <0.4,
        hashable >=1.3.0.0 && <1.4,
        hspec >=2.7.10 && <2.8,
        language-dot >=0.1.1 && <0.2,
        mtl >=2.2.2 && <2.3,
        pipes >=4.3.16 && <4.4,
        pretty-simple >=4.0.0.0 && <4.1,
        text >=1.2.4.1 && <1.3,
        time >=1.9.3 && <1.10,
        unordered-containers >=0.2.16.0 && <0.3,
        vector >=0.12.3.1 && <0.13

    if flag(profile-caches)
        cpp-options: -DPROFILE_CACHES

benchmark mainbench
    type:               exitcode-stdio-1.0
    main-is:            Benchmarks.hs
    hs-source-dirs:     benchmarks
    other-modules:
        TestData
        Paths_ecta

    default-language:   Haskell2010
    default-extensions:
        BangPatterns ConstraintKinds DataKinds DefaultSignatures
        DeriveDataTypeable DeriveGeneric EmptyDataDecls
        ExistentialQuantification FlexibleContexts FlexibleInstances
        FunctionalDependencies GADTs GeneralizedNewtypeDeriving
        KindSignatures LambdaCase MultiParamTypeClasses NamedFieldPuns
        PatternGuards PatternSynonyms RankNTypes ScopedTypeVariables
        StandaloneDeriving TupleSections TypeApplications TypeFamilies
        TypeOperators ViewPatterns

    ghc-options:        -threaded -rtsopts -with-rtsopts=-N -O2
    build-depends:
        base >=4.14.3.0 && <4.15,
        cmdargs >=0.10.21 && <0.11,
        containers >=0.6.5.1 && <0.7,
        criterion >=1.5.13.0 && <1.6,
        ecta -any,
        hashable >=1.3.0.0 && <1.4,
        language-dot >=0.1.1 && <0.2,
        mtl >=2.2.2 && <2.3,
        pipes >=4.3.16 && <4.4,
        pretty-simple >=4.0.0.0 && <4.1,
        text >=1.2.4.1 && <1.3,
        time >=1.9.3 && <1.10,
        unordered-containers >=0.2.16.0 && <0.3,
        vector >=0.12.3.1 && <0.13

    if flag(profile-caches)
        cpp-options: -DPROFILE_CACHES