packages feed

Strafunski-StrategyLib 5.0.0.4 → 5.0.0.5

raw patch · 5 files changed

+5/−125 lines, 5 filesdep +transformersdep ~directoryPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependencies added: transformers

Dependency ranges changed: directory

API changes (from Hackage documentation)

- Control.Monad.Maybe: MaybeT :: m (Maybe a) -> MaybeT m a
- Control.Monad.Maybe: instance [overlap ok] Monad m => Functor (MaybeT m)
- Control.Monad.Maybe: instance [overlap ok] Monad m => Monad (MaybeT m)
- Control.Monad.Maybe: instance [overlap ok] Monad m => MonadPlus (MaybeT m)
- Control.Monad.Maybe: instance [overlap ok] MonadCont m => MonadCont (MaybeT m)
- Control.Monad.Maybe: instance [overlap ok] MonadFix m => MonadFix (MaybeT m)
- Control.Monad.Maybe: instance [overlap ok] MonadIO m => MonadIO (MaybeT m)
- Control.Monad.Maybe: instance [overlap ok] MonadReader r m => MonadReader r (MaybeT m)
- Control.Monad.Maybe: instance [overlap ok] MonadState s m => MonadState s (MaybeT m)
- Control.Monad.Maybe: instance [overlap ok] MonadTrans MaybeT
- Control.Monad.Maybe: instance [overlap ok] MonadWriter w m => MonadWriter w (MaybeT m)
- Control.Monad.Maybe: newtype MaybeT m a
- Control.Monad.Maybe: runMaybeT :: MaybeT m a -> m (Maybe a)
- Data.Generics.Strafunski.StrategyLib.MonadicFunctions: Id :: a -> Id a
- Data.Generics.Strafunski.StrategyLib.MonadicFunctions: instance [overlap ok] Monad Id
- Data.Generics.Strafunski.StrategyLib.MonadicFunctions: newtype Id a
- Data.Generics.Strafunski.StrategyLib.MonadicFunctions: unId :: Id a -> a
- Data.Generics.Strafunski.StrategyLib.Models.Deriving.StrategyPrimitives: mchoicesTP :: (Monad m, MonadPlus (t m), MonadUnTrans MaybeAlg t) => [TP (t m)] -> TP m -> TP m
+ Data.Generics.Strafunski.StrategyLib.Models.Deriving.StrategyPrimitives: mchoicesTP :: (MonadUnTrans MaybeAlg t, MonadPlus (t m), Monad m) => [TP (t m)] -> TP m -> TP m
- Data.Generics.Strafunski.StrategyLib.Models.Deriving.StrategyPrimitives: mchoicesTU :: (Monad m, MonadPlus (t m), MonadUnTrans MaybeAlg t) => [TU a (t m)] -> TU a m -> TU a m
+ Data.Generics.Strafunski.StrategyLib.Models.Deriving.StrategyPrimitives: mchoicesTU :: (MonadUnTrans MaybeAlg t, MonadPlus (t m), Monad m) => [TU a (t m)] -> TU a m -> TU a m

Files

− Control/Monad/Maybe.hs
@@ -1,105 +0,0 @@---------------------------------------------------------------------------------- | --- Maintainer	: Ralf Laemmel, Joost Visser--- Stability	: experimental--- Portability	: portable------ This module introduces the MaybeT monad transformer.--- It is basically a simplification of the ErrorT monad transformer.----------------------------------------------------------------------------------module Control.Monad.Maybe ( -- MaybeT(..)--) where--import Control.Monad.Fix-import Control.Monad.Trans-import Control.Monad.Reader-import Control.Monad.Writer-import Control.Monad.State-import Control.Monad.RWS-import Control.Monad.Cont-import Control.Monad.Error------------------------------------------------------------------------------------ | The monad transformer 'MaybeT'.-newtype MaybeT m a = MaybeT { runMaybeT :: m (Maybe a) }--instance (Monad m) => Functor (MaybeT m) where-	fmap f m = MaybeT $ do-		a <- runMaybeT m-		case a of-			Nothing -> return (Nothing)-			Just  r -> return (Just  (f r))--instance (Monad m) => Monad (MaybeT m) where-	return a = MaybeT $ return (Just  a)-	m >>= k  = MaybeT $ do-		a <- runMaybeT m-		case a of-			Nothing -> return (Nothing)-			Just  r -> runMaybeT (k r)-	fail msg = MaybeT $ return (Nothing)--instance (Monad m) => MonadPlus (MaybeT m) where-	mzero       = MaybeT $ return (Nothing)-	m `mplus` n = MaybeT $ do-		a <- runMaybeT m-		case a of-			Nothing -> runMaybeT n-			Just  r -> return (Just  r)--instance (MonadFix m) => MonadFix (MaybeT m) where-	mfix f = MaybeT $ mfix $ \a -> runMaybeT $ f $ case a of-		Just  r -> r-		_       -> error "empty mfix argument"--{--instance (Monad m) => MonadError e (MaybeT m) where-	throwError l     = MaybeT $ return (Nothing)-	m `catchError` h = MaybeT $ do-		a <- runMaybeT m-		case a of-			Nothing -> runMaybeT (h l)-			Just  r -> return (Just  r)--}--instance MonadTrans (MaybeT) where-	lift m = MaybeT $ do-		a <- m-		return (Just  a)--instance (MonadIO m) => MonadIO (MaybeT m) where-	liftIO = lift . liftIO--instance (MonadReader r m) => MonadReader r (MaybeT m) where-	ask       = lift ask-	local f m = MaybeT $ local f (runMaybeT m)--instance (MonadWriter w m) => MonadWriter w (MaybeT m) where-	tell     = lift . tell-	listen m = MaybeT $ do-		(a, w) <- listen (runMaybeT m)-		return $ case a of-			Nothing -> Nothing-			Just  r -> Just  (r, w)-	pass   m = MaybeT $ pass $ do-		a <- runMaybeT m-		return $ case a of-			Nothing      -> (Nothing, id)-			Just  (r, f) -> (Just  r, f)--instance (MonadState s m) => MonadState s (MaybeT m) where-	get = lift get-	put = lift . put--instance (MonadCont m) => MonadCont (MaybeT m) where-	callCC f = MaybeT $-		callCC $ \c ->-		runMaybeT (f (\a -> MaybeT $ c (Just  a)))--------------------------------------------------------------------------------
Control/Monad/Run.hs view
@@ -15,10 +15,10 @@ module Control.Monad.Run where  import Control.Monad.Trans+import Control.Monad.Trans.Maybe import Control.Monad.Identity import Control.Monad.State import Control.Monad.List-import Control.Monad.Maybe import Control.Monad.Error import System.IO.Unsafe (unsafePerformIO) -- for running IO monads 
Data/Generics/Strafunski/StrategyLib/MonadicFunctions.hs view
@@ -16,21 +16,6 @@ import Control.Monad  --------------------------------------------------------------------------------- * The identity monad ---- | Identity type constructor.-newtype Id a = Id a---- | Unwrap identity type constructor-unId 		:: Id a -> a-unId (Id x) 	 = x--instance Monad Id where- return = Id- (Id x) >>= f = f x--------------------------------------------------------------------------------- -- * Recover from partiality  -- | Force success. If the argument value corresponds to failure, 
Data/Generics/Strafunski/StrategyLib/StrategyLib.hs view
@@ -46,8 +46,8 @@ import Control.Monad import Control.Monad.Fix import Control.Monad.Trans+import Control.Monad.Trans.Maybe import Control.Monad.Identity-import Control.Monad.Maybe import Control.Monad.State import Data.Monoid import Data.Generics.Strafunski.StrategyLib.MoreMonoids
Strafunski-StrategyLib.cabal view
@@ -1,5 +1,5 @@ name:                Strafunski-StrategyLib-version:             5.0.0.4+version:             5.0.0.5 synopsis:            Library for strategic programming description:         This is a version of the StrategyLib library originally shipped with Strafunski, Cabalized and updated to newer versions of GHC. A description of much of StrategyLib can be found in the paper "Design Patterns for Functional Strategic Programming." license:             BSD3@@ -27,7 +27,6 @@         Rank2Types    exposed-modules:-        Control.Monad.Maybe,         Control.Monad.Run,         Data.Generics.Strafunski.StrategyLib.ChaseImports,         Data.Generics.Strafunski.StrategyLib.ContainerTheme,@@ -55,5 +54,6 @@         base > 4.4 && < 4.8,         mtl > 2.2,         syb > 0.3 && < 4.1,-        directory > 1.1 && < 1.2.1+        directory > 1.1 && < 1.2.2,+        transformers >= 0.2