heftia/heftia-effects/heftia-effects.cabal
2024-10-10 21:41:19 +09:00

252 lines
5.8 KiB
Plaintext

cabal-version: 2.4
name: heftia-effects
version: 0.4.0.0
-- A short (one-line) description of the package.
synopsis: higher-order effects done right
-- A longer description of the package.
description:
This library is the battery-included version of the [heftia](https://hackage.haskell.org/package/heftia) package,
providing interpreters for standard effects.
-- A URL where users can report bugs.
bug-reports: https://github.com/sayo-hs/heftia
-- The license under which the package is released.
license: MPL-2.0
license-file: LICENSE
author: Sayo Koyoneda <ymdfield@outlook.jp>
maintainer: Sayo Koyoneda <ymdfield@outlook.jp>
-- A copyright notice.
copyright: 2023-2024 Sayo Koyoneda
category: Control, Effect, Monads
extra-doc-files:
ChangeLog.md
NOTICE
README.md
tested-with:
GHC == 9.8.2
GHC == 9.4.1
source-repository head
type: git
location: https://github.com/sayo-hs/heftia
tag: v0.4.0
subdir: heftia-effects
common common-base
ghc-options: -Wall
default-language: GHC2021
default-extensions:
LambdaCase,
DerivingStrategies,
DataKinds,
TypeFamilies,
BlockArguments,
FunctionalDependencies,
RecordWildCards,
DefaultSignatures,
PatternSynonyms
build-depends:
base >= 4.17 && < 4.21,
data-effects ^>= 0.2,
heftia ^>= 0.4,
time >= 1.11.1 && < 1.15,
unliftio ^>= 0.2,
unbounded-delays ^>= 0.1.1,
ghc-typelits-knownnat ^>= 0.7,
containers > 0.6.5 && < 0.8,
ghc-options: -Wall -fplugin GHC.TypeLits.KnownNat.Solver
library
import: common-base
exposed-modules:
Control.Monad.Hefty.Reader
Control.Monad.Hefty.Writer
Control.Monad.Hefty.State
Control.Monad.Hefty.Except
Control.Monad.Hefty.ShiftReset
Control.Monad.Hefty.NonDet
Control.Monad.Hefty.Coroutine
Control.Monad.Hefty.Input
Control.Monad.Hefty.Output
Control.Monad.Hefty.Resource
Control.Monad.Hefty.Unlift
Control.Monad.Hefty.Provider
Control.Monad.Hefty.KVStore
Control.Monad.Hefty.Fresh
Control.Monad.Hefty.Fail
Control.Monad.Hefty.Concurrent.Timer
reexported-modules:
Control.Monad.Hefty,
Data.Effect.OpenUnion,
Data.Effect,
Data.Effect.TH,
Data.Effect.Tag,
Data.Effect.Key,
Data.Effect.Key.TH,
Data.Effect.HFunctor,
Data.Effect.HFunctor.HCont,
Data.Effect.HFunctor.TH,
Control.Effect,
Control.Effect.Tag,
Control.Effect.Key,
Data.Effect.Reader,
Data.Effect.Writer,
Data.Effect.State,
Data.Effect.Except,
Data.Effect.ShiftReset,
Data.Effect.NonDet,
Data.Effect.Coroutine,
Data.Effect.Input,
Data.Effect.Output,
Data.Effect.Resource,
Data.Effect.Unlift,
Data.Effect.Provider,
Data.Effect.KVStore,
Data.Effect.Fresh,
Data.Effect.Fail,
Data.Effect.Concurrent.Timer,
-- Modules included in this executable, other than Main.
-- other-modules:
-- LANGUAGE extensions used by modules in this package.
-- other-extensions:
build-depends:
hs-source-dirs: src
test-suite test
import: common-base
main-is: Driver.hs
other-modules:
Test.Semantics
Test.Writer
Test.Pyth
Test.Coroutine
hs-source-dirs: test
build-depends:
heftia-effects,
tasty >= 1.4 && < 1.6,
tasty-hspec ^>= 1.2,
hspec >= 2.5 && < 2.12,
unliftio ^>= 0.2,
build-tool-depends:
tasty-discover:tasty-discover
type: exitcode-stdio-1.0
executable Teletype
import: common-base
main-is: Main.hs
hs-source-dirs: Example/Teletype
build-depends:
heftia-effects,
executable KeyedEffects
import: common-base
main-is: Main.hs
hs-source-dirs: Example/KeyedEffects
build-depends:
heftia-effects,
executable Logging
import: common-base
main-is: Main.hs
hs-source-dirs: Example/Logging
build-depends:
heftia-effects,
text >= 2.0 && < 2.2,
time,
executable Continuation
import: common-base
main-is: Main.hs
hs-source-dirs: Example/Continuation
build-depends:
heftia-effects,
executable Continuation2
import: common-base
main-is: Main.hs
hs-source-dirs: Example/Continuation2
build-depends:
heftia-effects,
extra ^>= 1.7.14,
executable Writer
import: common-base
main-is: Main.hs
hs-source-dirs: Example/Writer
build-depends:
heftia-effects,
executable SemanticsZoo
import: common-base
main-is: Main.hs
hs-source-dirs: Example/SemanticsZoo
build-depends:
heftia-effects,
executable FileSystemProvider
import: common-base
main-is: Main.hs
hs-source-dirs: Example/FileSystemProvider
build-depends:
heftia-effects,
benchmark heftia-bench
import: common-base
type: exitcode-stdio-1.0
hs-source-dirs: bench
main-is: Main.hs
ghc-options: -fconstraint-solver-iterations=16
build-depends:
heftia-effects,
freer-simple ^>= 1.2,
polysemy ^>= 1.9,
fused-effects ^>= 1.1,
effectful ^>= 2.3,
eveff ^>= 1.0,
mtl >= 2.2 && < 2.4,
logict >= 0.7.0.3 && < 0.9,
tasty-bench >= 0.3 && < 0.5,
eff,
mpeff,
default-extensions:
PackageImports
other-modules:
BenchCountdown
BenchCatch
-- BenchLocal
BenchCoroutine
BenchPyth