packages feed

effectful-core-2.3.1.0: effectful-core.cabal

cabal-version:      3.0
build-type:         Simple
name:               effectful-core
version:            2.3.1.0
license:            BSD-3-Clause
license-file:       LICENSE
category:           Control
maintainer:         andrzej@rybczak.net
author:             Andrzej Rybczak
synopsis:           An easy to use, performant extensible effects library.

description:
  An easy to use, performant extensible effects library with seamless
  integration with the existing Haskell ecosystem.
  .
  This library provides core definitions with a minimal dependency
  footprint. See the @<https://hackage.haskell.org/package/effectful effectful>@
  package for the "batteries-included" variant.

extra-source-files:
  CHANGELOG.md
  README.md

tested-with: GHC == { 8.10.7, 9.0.2, 9.2.8, 9.4.8, 9.6.5, 9.8.2, 9.10.1 }

bug-reports:   https://github.com/haskell-effectful/effectful/issues
source-repository head
  type:     git
  location: https://github.com/haskell-effectful/effectful.git

common language
    ghc-options:        -Wall -Wcompat -Wno-unticked-promoted-constructors
                        -Werror=prepositive-qualified-module

    default-language:   Haskell2010

    default-extensions: BangPatterns
                        ConstraintKinds
                        DataKinds
                        DeriveFunctor
                        DeriveGeneric
                        FlexibleContexts
                        FlexibleInstances
                        GADTs
                        GeneralizedNewtypeDeriving
                        ImportQualifiedPost
                        LambdaCase
                        MultiParamTypeClasses
                        NoStarIsType
                        RankNTypes
                        RoleAnnotations
                        ScopedTypeVariables
                        StandaloneDeriving
                        TupleSections
                        TypeApplications
                        TypeFamilies
                        TypeOperators

library
    import:         language

    ghc-options:    -O2

    build-depends:    base                >= 4.14      && < 5
                    , containers          >= 0.6
                    , exceptions          >= 0.10.4
                    , monad-control       >= 1.0.3
                    , primitive           >= 0.7.3.0
                    , transformers-base   >= 0.4.6
                    , unliftio-core       >= 0.2.0.1

    hs-source-dirs:  src

    if impl(ghc < 9)
      c-sources:     cbits/utils.c

    exposed-modules: Effectful
                     Effectful.Dispatch.Dynamic
                     Effectful.Dispatch.Static
                     Effectful.Dispatch.Static.Primitive
                     Effectful.Dispatch.Static.Unsafe
                     Effectful.Error.Dynamic
                     Effectful.Error.Static
                     Effectful.Fail
                     Effectful.Internal.Effect
                     Effectful.Internal.Env
                     Effectful.Internal.Monad
                     Effectful.Internal.Unlift
                     Effectful.Internal.Utils
                     Effectful.Labeled
                     Effectful.NonDet
                     Effectful.Prim
                     Effectful.Provider
                     Effectful.Provider.List
                     Effectful.Reader.Dynamic
                     Effectful.Reader.Static
                     Effectful.State.Dynamic
                     Effectful.State.Static.Local
                     Effectful.State.Static.Shared
                     Effectful.Writer.Dynamic
                     Effectful.Writer.Static.Local
                     Effectful.Writer.Static.Shared