About

Metadata

  • Last updated , by noiioiu
  • License LGPL-2.0-or-later
  • Categories Monads
  • Maintained by: noiioiu@cocaine.ninja

  • Lottery factor: 1

Links

Installation

Package Flags

Use the -f option with cabal commands to enable flags

    examples (off by default)

    Build examples

Readme

Left or right actions of a monad on a functor.

See this blog post by Dan Marsden for an introduction to monad actions.

This package provides two implementations of monad actions. The simpler one uses the LeftModule, RightModule, and BiModule classes defined in Control.Monad.Action, and can be used with the QualifiedDo extension by qualifying the do blocks with either Control.Monad.Action.Right or Control.Monad.Action.Left. However, it uses incoherent instances. The second implementation, designed to avoid incoherent and overlapping instances, is defined in Control.Monad.Action.Records, and uses the LeftAction, RightAction, and BiAction types. It is meant to be used with RecordWildCards and RebindableSyntax and/or OverloadedRecordDot.