cabal-version: 1.12

-- This file has been generated from package.yaml by hpack version 0.37.0.
--
-- see: https://github.com/sol/hpack

name:           srtree
version:        2.0.0.3
synopsis:       A general library to work with Symbolic Regression expression trees.
description:    A Symbolic Regression Tree data structure to work with mathematical expressions with support to first order derivative and simplification;
category:       Math, Data, Data Structures
homepage:       https://github.com/folivetti/srtree#readme
bug-reports:    https://github.com/folivetti/srtree/issues
author:         Fabricio Olivetti de França
maintainer:     fabricio.olivetti@gmail.com
copyright:      2023 Fabricio Olivetti de França
license:        BSD3
license-file:   LICENSE
build-type:     Simple
extra-source-files:
    README.md
    ChangeLog.md

source-repository head
  type: git
  location: https://github.com/folivetti/srtree

library
  exposed-modules:
      Algorithm.EqSat
      Algorithm.EqSat.Build
      Algorithm.EqSat.DB
      Algorithm.EqSat.Egraph
      Algorithm.EqSat.Info
      Algorithm.EqSat.Queries
      Algorithm.EqSat.Simplify
      Algorithm.Massiv.Utils
      Algorithm.SRTree.AD
      Algorithm.SRTree.ConfidenceIntervals
      Algorithm.SRTree.Likelihoods
      Algorithm.SRTree.ModelSelection
      Algorithm.SRTree.NonlinearOpt
      Algorithm.SRTree.Opt
      Data.SRTree
      Data.SRTree.Datasets
      Data.SRTree.Derivative
      Data.SRTree.Eval
      Data.SRTree.Internal
      Data.SRTree.Print
      Data.SRTree.Random
      Data.SRTree.Recursion
      Numeric.Optimization.NLOPT.Bindings
      Text.ParseSR
      Text.ParseSR.IO
  other-modules:
      Paths_srtree
  hs-source-dirs:
      src
  ghc-options: -fwarn-incomplete-patterns -threaded
  extra-lib-dirs:
      /usr/local/lib
  extra-libraries:
      nlopt
  build-depends:
      attoparsec >=0.14.4 && <0.15
    , attoparsec-expr >=0.1.1.2 && <0.2
    , base >=4.19 && <5
    , binary >=0.8.9.1 && <0.9
    , bytestring >=0.11 && <0.13
    , containers >=0.6.7 && <0.8
    , dlist ==1.0.*
    , exceptions >=0.10.7 && <0.11
    , filepath >=1.4.0.0 && <1.6
    , hashable >=1.4.4.0 && <1.6
    , ieee754 >=0.8.0 && <0.9
    , lens >=5.2.3 && <5.4
    , list-shuffle >=1.0.0.1 && <1.1
    , massiv >=1.0.4.0 && <1.1
    , mtl >=2.2 && <2.4
    , random >=1.2 && <1.4
    , scheduler >=2.0.0.1 && <3
    , split >=0.2.5 && <0.3
    , statistics >=0.16.2.1 && <0.17
    , transformers >=0.6.1.0 && <0.7
    , unliftio >=0.2.10 && <1
    , unliftio-core >=0.2.1 && <1
    , unordered-containers ==0.2.*
    , vector >=0.12 && <0.14
    , zlib >=0.6.3 && <0.8
  default-language: Haskell2010

executable egraphGP
  main-is: Main.hs
  other-modules:
      Random
      Util
      Paths_srtree
  hs-source-dirs:
      apps/egraphGP
  ghc-options: -threaded -rtsopts -with-rtsopts=-N
  build-depends:
      attoparsec >=0.14.4 && <0.15
    , attoparsec-expr >=0.1.1.2 && <0.2
    , base >=4.19 && <5
    , binary >=0.8.9.1 && <0.9
    , bytestring >=0.11 && <0.13
    , containers >=0.6.7 && <0.8
    , dlist ==1.0.*
    , exceptions >=0.10.7 && <0.11
    , filepath >=1.4.0.0 && <1.6
    , hashable >=1.4.4.0 && <1.6
    , ieee754 >=0.8.0 && <0.9
    , lens >=5.2.3 && <5.4
    , list-shuffle >=1.0.0.1 && <1.1
    , massiv >=1.0.4.0 && <1.1
    , mtl >=2.2 && <2.4
    , optparse-applicative >=0.17 && <0.19
    , random >=1.2 && <1.4
    , scheduler >=2.0.0.1 && <3
    , split >=0.2.5 && <0.3
    , srtree
    , statistics >=0.16.2.1 && <0.17
    , transformers >=0.6.1.0 && <0.7
    , unliftio >=0.2.10 && <1
    , unliftio-core >=0.2.1 && <1
    , unordered-containers ==0.2.*
    , vector >=0.12 && <0.14
    , zlib >=0.6.3 && <0.8
  default-language: Haskell2010

executable egraphSearch
  main-is: Main.hs
  other-modules:
      Random
      Util
      Paths_srtree
  hs-source-dirs:
      apps/egraphSearch
  ghc-options: -threaded -rtsopts -with-rtsopts=-N -Wall
  build-depends:
      attoparsec >=0.14.4 && <0.15
    , attoparsec-expr >=0.1.1.2 && <0.2
    , base >=4.19 && <5
    , binary >=0.8.9.1 && <0.9
    , bytestring >=0.11 && <0.13
    , containers >=0.6.7 && <0.8
    , dlist ==1.0.*
    , exceptions >=0.10.7 && <0.11
    , filepath >=1.4.0.0 && <1.6
    , hashable >=1.4.4.0 && <1.6
    , ieee754 >=0.8.0 && <0.9
    , lens >=5.2.3 && <5.4
    , list-shuffle >=1.0.0.1 && <1.1
    , massiv >=1.0.4.0 && <1.1
    , mtl >=2.2 && <2.4
    , optparse-applicative >=0.17 && <0.19
    , random >=1.2 && <1.4
    , scheduler >=2.0.0.1 && <3
    , split >=0.2.5
    , srtree
    , statistics >=0.16.2.1 && <0.17
    , transformers >=0.6.1.0 && <0.7
    , unliftio >=0.2.10 && <1
    , unliftio-core >=0.2.1 && <1
    , unordered-containers ==0.2.*
    , vector >=0.12 && <0.14
    , zlib >=0.6.3 && <0.8
  default-language: Haskell2010

executable eqsatrepr
  main-is: Main.hs
  other-modules:
      Paths_srtree
  hs-source-dirs:
      apps/eqsatrepr
  ghc-options: -threaded -rtsopts -with-rtsopts=-N
  build-depends:
      attoparsec >=0.14.4 && <0.15
    , attoparsec-expr >=0.1.1.2 && <0.2
    , base >=4.19 && <5
    , binary >=0.8.9.1 && <0.9
    , bytestring >=0.11 && <0.13
    , containers >=0.6.7 && <0.8
    , dlist ==1.0.*
    , exceptions >=0.10.7 && <0.11
    , filepath >=1.4.0.0 && <1.6
    , hashable >=1.4.4.0 && <1.6
    , ieee754 >=0.8.0 && <0.9
    , lens >=5.2.3 && <5.4
    , list-shuffle >=1.0.0.1 && <1.1
    , massiv >=1.0.4.0 && <1.1
    , mtl >=2.2 && <2.4
    , random >=1.2 && <1.4
    , scheduler >=2.0.0.1 && <3
    , split >=0.2.5 && <0.3
    , srtree
    , statistics >=0.16.2.1 && <0.17
    , transformers >=0.6.1.0 && <0.7
    , unliftio >=0.2.10 && <1
    , unliftio-core >=0.2.1 && <1
    , unordered-containers ==0.2.*
    , vector >=0.12 && <0.14
    , zlib >=0.6.3 && <0.8
  default-language: Haskell2010

executable reggression
  main-is: Main.hs
  other-modules:
      Commands
      Random
      Util
      Paths_srtree
  hs-source-dirs:
      apps/rEGGression
  ghc-options: -threaded -rtsopts -with-rtsopts=-N
  build-depends:
      ansi-terminal >=1.1.2 && <1.2
    , attoparsec >=0.14.4 && <0.15
    , attoparsec-expr >=0.1.1.2 && <0.2
    , base >=4.19 && <5
    , binary >=0.8.9.1 && <0.9
    , bytestring >=0.11 && <0.13
    , containers >=0.6.7 && <0.8
    , dlist ==1.0.*
    , exceptions >=0.10.7 && <0.11
    , filepath >=1.4.0.0 && <1.6
    , hashable >=1.4.4.0 && <1.6
    , ieee754 >=0.8.0 && <0.9
    , lens >=5.2.3 && <5.4
    , list-shuffle >=1.0.0.1 && <1.1
    , massiv >=1.0.4.0 && <1.1
    , mtl >=2.2 && <2.4
    , optparse-applicative >=0.17 && <0.19
    , random >=1.2 && <1.4
    , repline >=0.4.2.0 && <0.5
    , scheduler >=2.0.0.1 && <3
    , split >=0.2.5 && <0.3
    , srtree
    , statistics >=0.16.2.1 && <0.17
    , table-layout >=1.0.0.1 && <1.1
    , transformers >=0.6.1.0 && <0.7
    , unliftio >=0.2.10 && <1
    , unliftio-core >=0.2.1 && <1
    , unordered-containers ==0.2.*
    , vector >=0.12 && <0.14
    , zlib >=0.6.3 && <0.8
  default-language: Haskell2010

executable srsimplify
  main-is: Main.hs
  other-modules:
      Paths_srtree
  hs-source-dirs:
      apps/srsimplify
  ghc-options: -threaded -rtsopts -with-rtsopts=-N
  build-depends:
      attoparsec >=0.14.4 && <0.15
    , attoparsec-expr >=0.1.1.2 && <0.2
    , base >=4.19 && <5
    , binary >=0.8.9.1 && <0.9
    , bytestring >=0.11 && <0.13
    , containers >=0.6.7 && <0.8
    , dlist ==1.0.*
    , exceptions >=0.10.7 && <0.11
    , filepath >=1.4.0.0 && <1.6
    , hashable >=1.4.4.0 && <1.6
    , ieee754 >=0.8.0 && <0.9
    , lens >=5.2.3 && <5.4
    , list-shuffle >=1.0.0.1 && <1.1
    , massiv >=1.0.4.0 && <1.1
    , mtl >=2.2 && <2.4
    , optparse-applicative >=0.17 && <0.19
    , random >=1.2 && <1.4
    , scheduler >=2.0.0.1 && <3
    , split >=0.2.5 && <0.3
    , srtree
    , statistics >=0.16.2.1 && <0.17
    , transformers >=0.6.1.0 && <0.7
    , unliftio >=0.2.10 && <1
    , unliftio-core >=0.2.1 && <1
    , unordered-containers ==0.2.*
    , vector >=0.12 && <0.14
    , zlib >=0.6.3 && <0.8
  default-language: Haskell2010

executable srtools
  main-is: Main.hs
  other-modules:
      Args
      IO
      Report
      Paths_srtree
  hs-source-dirs:
      apps/srtools
  ghc-options: -threaded -rtsopts -with-rtsopts=-N
  build-depends:
      attoparsec >=0.14.4 && <0.15
    , attoparsec-expr >=0.1.1.2 && <0.2
    , base >=4.19 && <5
    , binary >=0.8.9.1 && <0.9
    , bytestring >=0.11 && <0.13
    , containers >=0.6.7 && <0.8
    , dlist ==1.0.*
    , exceptions >=0.10.7 && <0.11
    , filepath >=1.4.0.0 && <1.6
    , hashable >=1.4.4.0 && <1.6
    , ieee754 >=0.8.0 && <0.9
    , lens >=5.2.3 && <5.4
    , list-shuffle >=1.0.0.1 && <1.1
    , massiv >=1.0.4.0 && <1.1
    , mtl >=2.2 && <2.4
    , optparse-applicative >=0.17 && <0.19
    , random >=1.2 && <1.4
    , scheduler >=2.0.0.1 && <3
    , split >=0.2.5 && <0.3
    , srtree
    , statistics >=0.16.2.1 && <0.17
    , transformers >=0.6.1.0 && <0.7
    , unliftio >=0.2.10 && <1
    , unliftio-core >=0.2.1 && <1
    , unordered-containers ==0.2.*
    , vector >=0.12 && <0.14
    , zlib >=0.6.3 && <0.8
  default-language: Haskell2010

executable tinygp
  main-is: Main.hs
  other-modules:
      GP
      Initialization
      Util
      Paths_srtree
  hs-source-dirs:
      apps/tinygp
  ghc-options: -threaded -rtsopts -with-rtsopts=-N
  build-depends:
      attoparsec >=0.14.4 && <0.15
    , attoparsec-expr >=0.1.1.2 && <0.2
    , base >=4.19 && <5
    , binary >=0.8.9.1 && <0.9
    , bytestring >=0.11 && <0.13
    , containers >=0.6.7 && <0.8
    , dlist ==1.0.*
    , exceptions >=0.10.7 && <0.11
    , filepath >=1.4.0.0 && <1.6
    , hashable >=1.4.4.0 && <1.6
    , ieee754 >=0.8.0 && <0.9
    , lens >=5.2.3 && <5.4
    , list-shuffle >=1.0.0.1 && <1.1
    , massiv >=1.0.4.0 && <1.1
    , mtl >=2.2 && <2.4
    , optparse-applicative >=0.17 && <0.19
    , random >=1.2 && <1.4
    , scheduler >=2.0.0.1 && <3
    , split >=0.2.5 && <0.3
    , srtree
    , statistics >=0.16.2.1 && <0.17
    , transformers >=0.6.1.0 && <0.7
    , unliftio >=0.2.10 && <1
    , unliftio-core >=0.2.1 && <1
    , unordered-containers ==0.2.*
    , vector >=0.12 && <0.14
    , zlib >=0.6.3 && <0.8
  default-language: Haskell2010

test-suite srtree-test
  type: exitcode-stdio-1.0
  main-is: Spec.hs
  other-modules:
      Paths_srtree
  hs-source-dirs:
      test
  ghc-options: -threaded -rtsopts -with-rtsopts=-N
  build-depends:
      HUnit
    , ad
    , attoparsec >=0.14.4 && <0.15
    , attoparsec-expr >=0.1.1.2 && <0.2
    , base >=4.19 && <5
    , binary >=0.8.9.1 && <0.9
    , bytestring >=0.11 && <0.13
    , containers >=0.6.7 && <0.8
    , dlist ==1.0.*
    , exceptions >=0.10.7 && <0.11
    , filepath >=1.4.0.0 && <1.6
    , hashable >=1.4.4.0 && <1.6
    , ieee754 >=0.8.0 && <0.9
    , lens >=5.2.3 && <5.4
    , list-shuffle >=1.0.0.1 && <1.1
    , massiv >=1.0.4.0 && <1.1
    , mtl >=2.2 && <2.4
    , random >=1.2 && <1.4
    , scheduler >=2.0.0.1 && <3
    , split >=0.2.5 && <0.3
    , srtree
    , statistics >=0.16.2.1 && <0.17
    , transformers >=0.6.1.0 && <0.7
    , unliftio >=0.2.10 && <1
    , unliftio-core >=0.2.1 && <1
    , unordered-containers ==0.2.*
    , vector >=0.12 && <0.14
    , zlib >=0.6.3 && <0.8
  default-language: Haskell2010