cabal-version:       >=1.10
-- Initial package description 'backtracking.cabal' generated by 'cabal
-- init'.  For further documentation, see
-- http://haskell.org/cabal/users-guide/

name:                backtracking
version:             0.1.0
synopsis:            A backtracking monad
description:         This library provides a backtracking monad following Spivey's paper "Algebras for combinatorial search".
-- bug-reports:
license:             BSD3
license-file:        LICENSE
author:              coord_e, Satoshi Egi
maintainer:          Satoshi Egi <egi@egison.org>
-- copyright:
category:            Control
build-type:          Simple
extra-source-files:  CHANGELOG.md

library
  hs-source-dirs:     src
  exposed-modules:
      Control.Monad.Search
  build-depends:
  build-depends:
      base                        >=4.8   && <5
    , transformers
  default-language:    Haskell2010
  default-extensions:
    DataKinds
    DefaultSignatures
    DerivingStrategies
    ExplicitForAll
    FlexibleContexts
    FlexibleInstances
    GeneralizedNewtypeDeriving
    LambdaCase
    MultiParamTypeClasses
    NamedFieldPuns
    PolyKinds
    RankNTypes
    ScopedTypeVariables
    StandaloneDeriving
    TupleSections
    TypeFamilies
    TypeOperators
  ghc-options:
    -Wall -Wno-type-defaults

test-suite test
  type:               exitcode-stdio-1.0
  hs-source-dirs:     test
  main-is:            test.hs
  ghc-options:
    -Wall -threaded -rtsopts -with-rtsopts=-N -Wno-type-defaults
  default-language:   Haskell2010
  build-depends:
      base
    , primes
    , backtracking
    , tasty
    , tasty-hunit
  default-extensions:
    GADTs
    QuasiQuotes
    TemplateHaskell
    TypeApplications
  -- cabal-fmt: expand test
  other-modules:      Spec
  build-tool-depends: tasty-discover:tasty-discover -any