packages feed

effectful-core-2.6.0.0: effectful-core.cabal

cabal-version:      3.0
build-type:         Simple
name:               effectful-core
version:            2.6.0.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.7, 9.8.4, 9.10.2, 9.12.2 }

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
                        -Wmissing-deriving-strategies
                        -Werror=prepositive-qualified-module

    default-language:   Haskell2010

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

library
    import:         language

    ghc-options:    -O2

    build-depends:    base                >= 4.14      && < 5
                    , containers          >= 0.6
                    , deepseq             >= 1.2
                    , exceptions          >= 0.10.4
                    , monad-control       >= 1.0.3
                    , primitive           >= 0.7.3.0
                    , strict-mutable-base >= 1.1.0.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.Exception
                     Effectful.Fail
                     Effectful.Internal.Effect
                     Effectful.Internal.Env
                     Effectful.Internal.Monad
                     Effectful.Internal.Unlift
                     Effectful.Internal.Utils
                     Effectful.Labeled
                     Effectful.Labeled.Error
                     Effectful.Labeled.Reader
                     Effectful.Labeled.State
                     Effectful.Labeled.Writer
                     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