/effects-playground

:dart: Learning different effect systems by example

Primary LanguageHaskellApache License 2.0Apache-2.0

effects-playground

Learning different effect systems by example

Higher-order effects

  • fused-effects: a fast, flexible, fused effect system.
  • polysemy: higher-order, no boilerplate, zero-cost monads.

Distributed effects

  • transient: distributed, concurrent and parallel computations as primitives.

Other effects

  • capability: Standard capability type classes for extensional effects.
  • rio: aka ReaderT + IO.

Classic effects

  • Tagless Final: aka final encoding
  • MTL: Monad Transformers Library