cabal-version: 1.12

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

name:           cleff
version:        0.1.0.0
synopsis:       Fast and concise extensible effects
description:    Please see the README on GitHub at <https://github.com/re-xyr/cleff#readme>
category:       Control, Effect, Language
homepage:       https://github.com/re-xyr/cleff#readme
bug-reports:    https://github.com/re-xyr/cleff/issues
author:         Xy Ren
maintainer:     xy.r@outlook.com
copyright:      2021 Xy Ren
license:        BSD3
license-file:   LICENSE
build-type:     Simple
tested-with:
    GHC == 8.6.5
  , GHC == 8.8.4
  , GHC == 8.10.7
  , GHC == 9.0.2
extra-source-files:
    CHANGELOG.md
    README.md

source-repository head
  type: git
  location: https://github.com/re-xyr/cleff

flag dynamic-ioe
  description: Make @IOE@ a real effect. This is only for reference purposes and should not be enabled in production code.

  manual: True
  default: False

library
  exposed-modules:
      Cleff
      Cleff.Error
      Cleff.Fail
      Cleff.Fresh
      Cleff.Input
      Cleff.Internal.Base
      Cleff.Internal.Effect
      Cleff.Internal.Interpret
      Cleff.Internal.Monad
      Cleff.Internal.TH
      Cleff.Mask
      Cleff.Output
      Cleff.Reader
      Cleff.State
      Cleff.Trace
      Cleff.Writer
      Data.Any
      Data.Mem
      Data.Rec
  other-modules:
      Paths_cleff
  hs-source-dirs:
      src
  default-extensions:
      BangPatterns
      BlockArguments
      ConstraintKinds
      DataKinds
      DerivingVia
      EmptyCase
      FlexibleContexts
      FlexibleInstances
      FunctionalDependencies
      GADTs
      GeneralizedNewtypeDeriving
      KindSignatures
      LambdaCase
      NoStarIsType
      PatternSynonyms
      PolyKinds
      QuantifiedConstraints
      RankNTypes
      RoleAnnotations
      ScopedTypeVariables
      TemplateHaskell
      TupleSections
      TypeApplications
      TypeFamilies
      TypeOperators
      UndecidableInstances
      UnicodeSyntax
      ViewPatterns
  ghc-options: -Wall -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-deriving-strategies -Wpartial-fields -Wunused-type-patterns
  build-depends:
      atomic-primops ==0.8.*
    , base >=4.12 && <5
    , containers ==0.6.*
    , exceptions ==0.10.*
    , microlens >=0.4.9 && <0.5
    , monad-control >=1 && <1.1
    , primitive >=0.6 && <0.8
    , template-haskell >=2.14 && <3
    , th-abstraction >=0.2.11 && <0.5
    , transformers >=0.5 && <0.7
    , transformers-base >=0.4.5 && <0.5
    , unliftio >=0.2.8 && <0.3
  if flag(dynamic-ioe)
    cpp-options: -DDYNAMIC_IOE
  default-language: Haskell2010

test-suite cleff-example
  type: exitcode-stdio-1.0
  main-is: Main.hs
  other-modules:
      Broker
      Filesystem
      Teletype
      Paths_cleff
  hs-source-dirs:
      example
  default-extensions:
      BangPatterns
      BlockArguments
      ConstraintKinds
      DataKinds
      DerivingVia
      EmptyCase
      FlexibleContexts
      FlexibleInstances
      FunctionalDependencies
      GADTs
      GeneralizedNewtypeDeriving
      KindSignatures
      LambdaCase
      NoStarIsType
      PatternSynonyms
      PolyKinds
      QuantifiedConstraints
      RankNTypes
      RoleAnnotations
      ScopedTypeVariables
      TemplateHaskell
      TupleSections
      TypeApplications
      TypeFamilies
      TypeOperators
      UndecidableInstances
      UnicodeSyntax
      ViewPatterns
      DeriveAnyClass
  ghc-options: -Wall -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-deriving-strategies -Wpartial-fields -Wunused-type-patterns -threaded -rtsopts -with-rtsopts=-N
  build-depends:
      atomic-primops ==0.8.*
    , base >=4.12 && <5
    , cleff
    , containers ==0.6.*
    , exceptions ==0.10.*
    , extra
    , microlens >=0.4.9 && <0.5
    , monad-control >=1 && <1.1
    , primitive >=0.6 && <0.8
    , template-haskell >=2.14 && <3
    , th-abstraction >=0.2.11 && <0.5
    , transformers >=0.5 && <0.7
    , transformers-base >=0.4.5 && <0.5
    , unliftio >=0.2.8 && <0.3
  if flag(dynamic-ioe)
    cpp-options: -DDYNAMIC_IOE
  default-language: Haskell2010

test-suite cleff-test
  type: exitcode-stdio-1.0
  main-is: Main.hs
  other-modules:
      ConcurrencySpec
      ErrorSpec
      HigherOrderSpec
      InterposeSpec
      MaskSpec
      RecSpec
      StateSpec
      ThSpec
      Paths_cleff
  hs-source-dirs:
      test
  default-extensions:
      BangPatterns
      BlockArguments
      ConstraintKinds
      DataKinds
      DerivingVia
      EmptyCase
      FlexibleContexts
      FlexibleInstances
      FunctionalDependencies
      GADTs
      GeneralizedNewtypeDeriving
      KindSignatures
      LambdaCase
      NoStarIsType
      PatternSynonyms
      PolyKinds
      QuantifiedConstraints
      RankNTypes
      RoleAnnotations
      ScopedTypeVariables
      TemplateHaskell
      TupleSections
      TypeApplications
      TypeFamilies
      TypeOperators
      UndecidableInstances
      UnicodeSyntax
      ViewPatterns
      DeriveAnyClass
      DeriveGeneric
  ghc-options: -Wall -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-deriving-strategies -Wpartial-fields -Wunused-type-patterns -threaded -rtsopts -with-rtsopts=-N
  build-depends:
      QuickCheck
    , atomic-primops ==0.8.*
    , base >=4.12 && <5
    , cleff
    , containers ==0.6.*
    , exceptions ==0.10.*
    , extra
    , hspec
    , lifted-base
    , microlens >=0.4.9 && <0.5
    , monad-control >=1 && <1.1
    , primitive >=0.6 && <0.8
    , template-haskell >=2.14 && <3
    , th-abstraction >=0.2.11 && <0.5
    , transformers >=0.5 && <0.7
    , transformers-base >=0.4.5 && <0.5
    , unliftio >=0.2.8 && <0.3
  if flag(dynamic-ioe)
    cpp-options: -DDYNAMIC_IOE
  default-language: Haskell2010