polysemy-zoo

Experimental, user-contributed effects and interpreters for polysemy

https://github.com/isovector/polysemy-zoo#readme

Version on this page:0.5.0.1
LTS Haskell 20.26:0.8.1.0
Stackage Nightly 2022-11-17:0.8.1.0
Latest on Hackage:0.8.2.0

See all snapshots polysemy-zoo appears in

BSD-3-Clause licensed by Sandy Maguire
Maintained by [email protected]
This version can be pinned in stack with:polysemy-zoo-0.5.0.1@sha256:57895c7ee78555c0918fcb119582488ae1b34251cadac7b1a12f4366d9319c44,3575

Module documentation for 0.5.0.1

  • Polysemy
    • Polysemy.Alias
    • Polysemy.Capture
    • Polysemy.ConstraintAbsorber
      • Polysemy.ConstraintAbsorber.MonadError
      • Polysemy.ConstraintAbsorber.MonadReader
      • Polysemy.ConstraintAbsorber.MonadState
      • Polysemy.ConstraintAbsorber.MonadWriter
    • Polysemy.Cont
      • Polysemy.Cont.Internal
    • Polysemy.Final
      • Polysemy.Final.Async
      • Polysemy.Final.Error
      • Polysemy.Final.Fixpoint
      • Polysemy.Final.MTL
      • Polysemy.Final.Resource
    • Polysemy.Floodgate
    • Polysemy.IdempotentLowering
    • Polysemy.KVStore
    • Polysemy.Operators
    • Polysemy.Random
    • Polysemy.Redis
      • Polysemy.Redis.Utils
    • Polysemy.SetStore
    • Polysemy.Several
    • Polysemy.Shift
      • Polysemy.Shift.Internal

polysemy-zoo

Build Status Hackage

Dedication

Once I was chased by the king of all scorpions.

Rachel Hunter

Overview

The polysemy-zoo is an experimental repository for user-contributed additions to the polysemy ecosystem. You’re encouraged to open Pull Requests here for any effects/interpretations that you write and think might be useful for others.

Particularly successful contributions here will be migrated into either polysemy proper, or polysemy-contrib (the less experimental version of the zoo.)

Polysemy in the Wild

The Zoo isn’t the only place to find great user-contributions to polysemy! Here is a curated list of other great effects and interops:

Changes

Changelog for polysemy-zoo

0.5.0.1 (2019-07-25)

  • Fixed some bugs with haddock

0.5.0.0 (2019-07-24)

  • Added Continuation effects (thanks to @KingoftheHomeless)
  • Update to polysemy-1.0.0.0’s new names

0.4.0.1 (2019-07-10)

  • Fixed an erroneous lower bound in the tests

0.4.0.0 (2019-07-10)

Breaking Changes

  • The semantics of absorbWriter are now aligned with the MTL implementation

New Effects and Interpreters

  • Added SetStore effect
  • Added Floodgate effect
  • Added Final effect, together with submodules of interpreters using it (thanks to @KingoftheHomeless)
  • Added lookupOrThrowKV, existsKV and modifyKV actions to KVStore
  • Added Redis interpretations of SetStore and KVStore

0.3.0.0 (2019-06-17)

  • Removed Polysemy.MTL
  • The machinery for MTL absorption is now monomorphized in Polysemy.ConstraintAbsorber. See the documentation there and in submodules for more information.

0.2.0.0 (2019-06-14)

  • Removed Polysemy.RandomFu, which is moving to its own package
  • Add explicit cabal bounds for dependencies of polysemy-zoo

0.1.2.1 (2019-06-12)

  • Update the tests to run against polysemy-0.4.0.0

0.1.2.0 (2019-06-01)

  • Added Polysemy.MTL for inter-op with MTL (thanks to @adamConnerSax)
  • Moved Polysemy.Random from polysemy
  • Added Polysemy.RandomFu (thanks to @adamConnerSax)
  • Added fixedNat and fixedNat' to Polysemy.IdempotentLowering for working with higher-order effects.

0.1.1.0 (2019-05-22)

  • Added Polysemy.IdempotentLowering

Unreleased changes