packages feed

microecta-0.1.0.0: microecta.cabal

cabal-version: 2.4
name: microecta
version: 0.1.0.0
synopsis: Small equality-constrained tree automata core
description: A small equality-constrained tree automata core extracted from ecta.
homepage: https://github.com/Tritlo/microecta#readme
bug-reports: https://github.com/Tritlo/microecta/issues
category: Data
author: Jimmy Koppel, Matthias Pall Gissurarson
maintainer: mpg@mpg.is
copyright: 2021-2025 Jimmy Koppel, 2026 Matthias Pall Gissurarson
license: BSD-3-Clause
license-file: LICENSE
build-type: Simple
tested-with: ghc ==9.12.2
extra-doc-files:
  CHANGELOG.md
  README.md

source-repository head
  type: git
  location: https://github.com/Tritlo/microecta.git

common warnings
  ghc-options: -Wall

common extensions
  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

library
  import: warnings, extensions
  hs-source-dirs: src
  ghc-options:
    +RTS
    -K512M
    -M512M
    -RTS

  exposed-modules:
    Application.TermSearch.Dataset
    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.Paths
    Data.ECTA.Internal.Term
    Data.ECTA.Paths
    Data.ECTA.Term
    Data.Interned.Extended.HashTableBased
    Data.Memoization
    Data.Persistent.UnionFind
    Utility.Fixpoint
    Utility.HashJoin

  other-modules:
    Data.Text.Extended.Pretty

  build-depends:
    base >=4.13 && <5,
    containers >=0.7 && <0.8,
    equivalence >=0.4.1 && <0.5,
    hashable >=1.5.1.0 && <1.6,
    hashtables >=1.4.2 && <1.5,
    intern >=0.9.6 && <0.10,
    mtl >=2.3.1 && <2.4,
    text >=2.1.2 && <2.2,
    transformers >=0.6.1.2 && <0.7,
    unordered-containers >=0.2.21 && <0.3,

test-suite unit-tests
  import: warnings, extensions
  type: exitcode-stdio-1.0
  main-is: Spec.hs
  hs-source-dirs: test
  ghc-options:
    -threaded
    -rtsopts
    -with-rtsopts=-N
    -Wno-orphans

  other-modules:
    Data.Persistent.UnionFindSpec
    ECTASpec
    PathsSpec
    Test.Generators.ECTA
    Utility.HashJoinSpec

  build-depends:
    QuickCheck,
    base >=4.13 && <5,
    containers,
    equivalence >=0.4.1 && <0.5,
    hashable,
    hspec,
    microecta,
    mtl,
    text,
    unordered-containers,

benchmark micro-bench
  import: warnings, extensions
  type: exitcode-stdio-1.0
  main-is: Benchmarks.hs
  hs-source-dirs: benchmarks
  ghc-options:
    -O2
    -rtsopts
    -with-rtsopts=-M512M

  build-depends:
    base >=4.13 && <5,
    microecta,
    text,