mirror of
https://github.com/polysemy-research/polysemy.git
synced 2024-09-11 10:36:40 +03:00
4cce80c043
This PR adds machinery for writing easy laws that should hold for an effect. It gives an example of what they'd look like for State s.
215 lines
6.0 KiB
Plaintext
215 lines
6.0 KiB
Plaintext
cabal-version: 1.24
|
|
|
|
-- This file has been generated from package.yaml by hpack version 0.31.2.
|
|
--
|
|
-- see: https://github.com/sol/hpack
|
|
--
|
|
-- hash: 9c9c8b8561c30bd1736e7de233dd3ffd9bf260977d78704950e3d0b48be7f291
|
|
|
|
name: polysemy
|
|
version: 1.2.3.0
|
|
synopsis: Higher-order, low-boilerplate, zero-cost free monads.
|
|
description: Please see the README on GitHub at <https://github.com/isovector/polysemy#readme>
|
|
category: Language
|
|
homepage: https://github.com/isovector/polysemy#readme
|
|
bug-reports: https://github.com/isovector/polysemy/issues
|
|
author: Sandy Maguire
|
|
maintainer: sandy@sandymaguire.me
|
|
copyright: 2019 Sandy Maguire
|
|
license: BSD3
|
|
license-file: LICENSE
|
|
build-type: Custom
|
|
extra-source-files:
|
|
README.md
|
|
ChangeLog.md
|
|
|
|
source-repository head
|
|
type: git
|
|
location: https://github.com/isovector/polysemy
|
|
|
|
custom-setup
|
|
setup-depends:
|
|
Cabal
|
|
, base >=4.9 && <5
|
|
, cabal-doctest >=1.0.6 && <1.1
|
|
|
|
flag dump-core
|
|
description: Dump HTML for the core generated by GHC during compilation
|
|
manual: True
|
|
default: False
|
|
|
|
flag error-messages
|
|
description: Provide custom error messages
|
|
manual: True
|
|
default: True
|
|
|
|
library
|
|
exposed-modules:
|
|
Polysemy
|
|
Polysemy.Async
|
|
Polysemy.AtomicState
|
|
Polysemy.Embed
|
|
Polysemy.Embed.Type
|
|
Polysemy.Error
|
|
Polysemy.Fail
|
|
Polysemy.Fail.Type
|
|
Polysemy.Final
|
|
Polysemy.Fixpoint
|
|
Polysemy.Input
|
|
Polysemy.Internal
|
|
Polysemy.Internal.Combinators
|
|
Polysemy.Internal.CustomErrors
|
|
Polysemy.Internal.CustomErrors.Redefined
|
|
Polysemy.Internal.Fixpoint
|
|
Polysemy.Internal.Forklift
|
|
Polysemy.Internal.Kind
|
|
Polysemy.Internal.NonDet
|
|
Polysemy.Internal.Strategy
|
|
Polysemy.Internal.Tactics
|
|
Polysemy.Internal.TH.Common
|
|
Polysemy.Internal.TH.Effect
|
|
Polysemy.Internal.Union
|
|
Polysemy.Internal.Writer
|
|
Polysemy.IO
|
|
Polysemy.Law
|
|
Polysemy.NonDet
|
|
Polysemy.Output
|
|
Polysemy.Reader
|
|
Polysemy.Resource
|
|
Polysemy.State
|
|
Polysemy.State.Law
|
|
Polysemy.Tagged
|
|
Polysemy.Trace
|
|
Polysemy.View
|
|
Polysemy.Writer
|
|
other-modules:
|
|
Polysemy.Internal.PluginLookup
|
|
hs-source-dirs:
|
|
src
|
|
default-extensions: DataKinds DeriveFunctor FlexibleContexts GADTs LambdaCase PolyKinds RankNTypes ScopedTypeVariables StandaloneDeriving TypeApplications TypeOperators TypeFamilies UnicodeSyntax
|
|
ghc-options: -Wall
|
|
build-depends:
|
|
QuickCheck >=2.11.3 && <3
|
|
, async >=2.2 && <3
|
|
, base >=4.9 && <5
|
|
, containers >=0.5 && <0.7
|
|
, first-class-families >=0.5.0.0 && <0.7
|
|
, mtl >=2.2.2 && <3
|
|
, stm >=2 && <3
|
|
, syb >=0.7 && <0.8
|
|
, template-haskell >=2.12.0.0 && <3
|
|
, th-abstraction >=0.3.1.0 && <0.4
|
|
, transformers >=0.5.2.0 && <0.6
|
|
, type-errors >=0.2.0.0
|
|
, type-errors-pretty >=0.0.0.0 && <0.1
|
|
, unagi-chan >=0.4.0.0 && <0.5
|
|
if impl(ghc < 8.6)
|
|
default-extensions: MonadFailDesugaring TypeInType
|
|
if impl(ghc >= 8.7)
|
|
build-depends:
|
|
loopbreaker >=0.1 && <0.2
|
|
if flag(dump-core)
|
|
ghc-options: -fplugin=DumpCore -fplugin-opt=DumpCore:core-html
|
|
build-depends:
|
|
dump-core
|
|
if impl(ghc < 8.2.2)
|
|
build-depends:
|
|
unsupported-ghc-version >1 && <1
|
|
if impl(ghc >= 8.7)
|
|
ghc-options: -fplugin=Loopbreaker
|
|
if flag(error-messages)
|
|
cpp-options: -DCABAL_SERIOUSLY_CMON_MATE
|
|
else
|
|
cpp-options: -DNO_ERROR_MESSAGES
|
|
default-language: Haskell2010
|
|
|
|
test-suite polysemy-test
|
|
type: exitcode-stdio-1.0
|
|
main-is: Main.hs
|
|
other-modules:
|
|
AlternativeSpec
|
|
AsyncSpec
|
|
BracketSpec
|
|
DoctestSpec
|
|
ErrorSpec
|
|
FailSpec
|
|
FinalSpec
|
|
FixpointSpec
|
|
FusionSpec
|
|
HigherOrderSpec
|
|
InspectorSpec
|
|
InterceptSpec
|
|
LawsSpec
|
|
OutputSpec
|
|
ThEffectSpec
|
|
TypeErrors
|
|
ViewSpec
|
|
WriterSpec
|
|
Paths_polysemy
|
|
hs-source-dirs:
|
|
test
|
|
default-extensions: DataKinds DeriveFunctor FlexibleContexts GADTs LambdaCase PolyKinds RankNTypes ScopedTypeVariables StandaloneDeriving TypeApplications TypeOperators TypeFamilies UnicodeSyntax
|
|
ghc-options: -threaded -rtsopts -with-rtsopts=-N
|
|
build-tool-depends:
|
|
hspec-discover:hspec-discover >=2.0
|
|
build-depends:
|
|
QuickCheck >=2.11.3 && <3
|
|
, async >=2.2 && <3
|
|
, base >=4.9 && <5
|
|
, containers >=0.5 && <0.7
|
|
, doctest >=0.16.0.1 && <0.17
|
|
, first-class-families >=0.5.0.0 && <0.7
|
|
, hspec >=2.6.0 && <3
|
|
, inspection-testing >=0.4.2 && <0.5
|
|
, mtl >=2.2.2 && <3
|
|
, polysemy
|
|
, stm >=2 && <3
|
|
, syb >=0.7 && <0.8
|
|
, template-haskell >=2.12.0.0 && <3
|
|
, th-abstraction >=0.3.1.0 && <0.4
|
|
, transformers >=0.5.2.0 && <0.6
|
|
, type-errors >=0.2.0.0
|
|
, type-errors-pretty >=0.0.0.0 && <0.1
|
|
, unagi-chan >=0.4.0.0 && <0.5
|
|
if impl(ghc < 8.6)
|
|
default-extensions: MonadFailDesugaring TypeInType
|
|
if impl(ghc >= 8.7)
|
|
build-depends:
|
|
loopbreaker >=0.1 && <0.2
|
|
default-language: Haskell2010
|
|
|
|
benchmark polysemy-bench
|
|
type: exitcode-stdio-1.0
|
|
main-is: countDown.hs
|
|
other-modules:
|
|
Poly
|
|
Paths_polysemy
|
|
hs-source-dirs:
|
|
bench
|
|
default-extensions: DataKinds DeriveFunctor FlexibleContexts GADTs LambdaCase PolyKinds RankNTypes ScopedTypeVariables StandaloneDeriving TypeApplications TypeOperators TypeFamilies UnicodeSyntax
|
|
build-depends:
|
|
QuickCheck >=2.11.3 && <3
|
|
, async >=2.2 && <3
|
|
, base >=4.9 && <5
|
|
, containers >=0.5 && <0.7
|
|
, criterion
|
|
, first-class-families >=0.5.0.0 && <0.7
|
|
, free
|
|
, freer-simple
|
|
, mtl
|
|
, polysemy
|
|
, stm >=2 && <3
|
|
, syb >=0.7 && <0.8
|
|
, template-haskell >=2.12.0.0 && <3
|
|
, th-abstraction >=0.3.1.0 && <0.4
|
|
, transformers >=0.5.2.0 && <0.6
|
|
, type-errors >=0.2.0.0
|
|
, type-errors-pretty >=0.0.0.0 && <0.1
|
|
, unagi-chan >=0.4.0.0 && <0.5
|
|
if impl(ghc < 8.6)
|
|
default-extensions: MonadFailDesugaring TypeInType
|
|
if impl(ghc >= 8.7)
|
|
build-depends:
|
|
loopbreaker >=0.1 && <0.2
|
|
default-language: Haskell2010
|