packages feed

RoyalMonad 1000.1 → 1000.7

raw patch · 2 files changed

+26/−21 lines, 2 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

Control/Monad/Royal.hs view
@@ -7,7 +7,7 @@ -- Stability   :  royal -- Portability :  royal ----- Introducing his majesty the Royal Monad+-- Introducing his majesty the Royal Monad. -- -- Royal Monads (or relative polymonads) generalize monads, polymonads _and_ relative monads. --@@ -17,7 +17,7 @@ --  -- Ditch your boring old relative, poly or ordinary monad, and start programming with the king of monads!  -- --- Bow before the ultimate generality of the Royal Monad, infidels!+-- Bow before the ultimate generality of the Royal Monad!  {-# LANGUAGE UndecidableInstances,FlexibleInstances,MultiParamTypeClasses #-} module Control.Monad.Royal where@@ -26,14 +26,15 @@ class RoyalReturn m r where   royalReturn :: r a -> m a -{- |- laws:-@ -  royalBind m royalReturn = m-  royalBind (royalReturn x) f = f x -  royalBind m (\x -> royalBind (f x) g) = royalBind (royalBind m f) g-@--}+-- |+-- laws (same as monad, but much more Royal):+--+-- prop> royalBind m royalReturn = m+--+-- prop> royalBind (royalReturn x) f = f x +--+-- prop> royalBind m (\x -> royalBind (f x) g) = royalBind (royalBind m f) g+-- class (RoyalReturn m r, RoyalReturn n r, RoyalReturn p r) =>       RoyalMonad m n p r where   royalBind   :: m a -> (r a -> n a) -> p a@@ -43,11 +44,13 @@  {- | Relative monads  laws:-@ -relativeBind m royalReturn = m-relativeBind (royalReturn x) f = f x -relativeBind m (\x -> relativeBind (f x) g) = relativeBind (relativeBind m f) g-@++prop> relativeBind m royalReturn = m++prop> relativeBind (royalReturn x) f = f x ++prop> relativeBind m (\x -> relativeBind (f x) g) = relativeBind (relativeBind m f) g+ -} class RoyalReturn m r => RelMonad m r where   relativeBind :: m a -> (r a -> m b) -> m b@@ -58,11 +61,13 @@  {- | Relative monads  laws:-@ -polyBind m rreturn = m-polyBind (rreturn x) f = f x -polyBind m (\x -> polyBind (f x) g) = polyBind (polyBind m f) g-@++prop> polyBind m rreturn = m++prop> polyBind (rreturn x) f = f x ++prop> polyBind m (\x -> polyBind (f x) g) = polyBind (polyBind m f) g+ -} class (NonRoyalReturn m, NonRoyalReturn n, NonRoyalReturn p) =>     PolyMonad m n p where
RoyalMonad.cabal view
@@ -1,5 +1,5 @@ Name:                RoyalMonad-Version:             1000.1+Version:             1000.7 Synopsis:	     All hail the Royal Monad! Description:         All hail the Royal Monad! License:             BSD3