Changelog of @hackage/monad-choice 0.2.0.0

Changelog

0.2.0.0 (2020-03-27)

Fixed broken MonadChoice instance for MonadRandom types and fixed, expanded, and fine tuned dependency version requirements.

Additions

  • UniformRandom
    • Created marker newtype UniformRandom that provides a MonadChoice instance for members of the MonadRandom typeclass.
    • Added functions lift and colift to wrap and unwrap UniformRandom, respectively.
    • Added instance for MonadChoice using uniform from the MoandRandom package when the wrapped monad is a member of the MonadRandom class.
    • Added various passthrough instances
      • Functor
      • Applicative
      • Monad
      • MonadRandom
      • MonadFix
      • MonadFail
      • Alternative
      • MonadPlus
      • MonadIO
      • Semigroup
      • Monoid
      • MonadError
      • MonadReader
      • MonadState
      • Foldable
      • Traversable
      • Eq1
      • Ord1
      • MonadZip
      • MonadCont
      • Eq
      • Ord
      • MonadRWS
      • MonadWriter
      • MonadSplit
      • PrimMonad
      • MonadInterleave

Removals

  • MonadChoice
    • Removed previous instance for members of the MonadRandom type class since it overlapped with all other MonadChoice instances.
    • Removed passthrough instances for constant space WriterT and RWST if transformers version is less than 0.5.6

0.1.0.0 (2020-02-29)

Inital version

Additions

  • MonadChoice
    • Created MonadChoice typeclass to represent that allow choices to be made by some arbitrary entity.
    • Added function chooseM.
    • Added instances for the ChoiceT both covariant and invariant.
    • Added instance for MonadRandom instances by using the uniform function.
    • Added various passthrough instances
      • MaybeT
      • ExceptT
      • IdentityT
      • StateT either lazy or strict
      • ReaderT
      • WriterT either constant space, lazy, or strict
      • AccumT
      • ContT
      • RWST either constant space, lazy, strict
      • SelectT
  • ChoiceT
    • Added two different versions of ChoiceT, one a covariant functor, the other an invariant functor on the category of monads.
    • Shared additions:
      • Function runChoiceT
      • Instances for Functor, Applicative, Monad, MonadTrans, and MonadChoice
      • Various passthrough instances
        • MonadReader
        • MonadState
        • MonadWriter
        • MonadRWS
        • MonadIO
    • Covariant.ChoiceT
      • Added functions mapChoiceT and runBacktrackableChoiceT.
    • Invariant.ChoiceT
      • Exposed constructor ChoiceT.
      • Added function invmapChoiceT.
      • Added various passthrough instances.
        • Contravariant
        • Invariant
        • Alternative
        • MonadPlus
        • MonadError
  • Choice
    • Added two different versions of Choice which of type aliases for each ChoiceT over the Identity monad.
    • Added function runChoice for each version.
    • For Covariant.Choice added functions runChoiceM and runBacktrackableChoiceT.