CC-delcont 0.2 → 0.2.1.0
raw patch · 2 files changed
+20/−16 lines, 2 filesdep ~basedep ~mtlPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: base, mtl
API changes (from Hackage documentation)
- Control.Monad.CC: instance Applicative (CC ans)
- Control.Monad.CC: instance Functor (CC ans)
- Control.Monad.CC: instance Monad (CC ans)
- Control.Monad.CC: instance Monad m => Applicative (CCT ans m)
- Control.Monad.CC: instance Monad m => Functor (CCT ans m)
- Control.Monad.CC: instance Monad m => Monad (CCT ans m)
- Control.Monad.CC: instance Monad m => MonadDelimitedCont (Prompt ans) (SubCont ans m) (CCT ans m)
- Control.Monad.CC: instance MonadDelimitedCont (Prompt ans) (SubCont ans Identity) (CC ans)
- Control.Monad.CC: instance MonadIO m => MonadIO (CCT ans m)
- Control.Monad.CC: instance MonadReader r m => MonadReader r (CCT ans m)
- Control.Monad.CC: instance MonadState s m => MonadState s (CCT ans m)
- Control.Monad.CC: instance MonadTrans (CCT ans)
- Control.Monad.CC.Prompt: instance Functor m => Functor (P ans m)
- Control.Monad.CC.Prompt: instance Monad m => Monad (P ans m)
- Control.Monad.CC.Prompt: instance Monad m => MonadState Int (P ans m)
- Control.Monad.CC.Prompt: instance MonadReader r m => MonadReader r (P ans m)
- Control.Monad.CC.Prompt: instance MonadTrans (P ans)
+ Control.Monad.CC: instance Control.Monad.CC.MonadDelimitedCont (Control.Monad.CC.Prompt.Prompt ans) (Control.Monad.CC.SubCont ans Data.Functor.Identity.Identity) (Control.Monad.CC.CC ans)
+ Control.Monad.CC: instance Control.Monad.IO.Class.MonadIO m => Control.Monad.IO.Class.MonadIO (Control.Monad.CC.CCT ans m)
+ Control.Monad.CC: instance Control.Monad.Reader.Class.MonadReader r m => Control.Monad.Reader.Class.MonadReader r (Control.Monad.CC.CCT ans m)
+ Control.Monad.CC: instance Control.Monad.State.Class.MonadState s m => Control.Monad.State.Class.MonadState s (Control.Monad.CC.CCT ans m)
+ Control.Monad.CC: instance Control.Monad.Trans.Class.MonadTrans (Control.Monad.CC.CCT ans)
+ Control.Monad.CC: instance GHC.Base.Applicative (Control.Monad.CC.CC ans)
+ Control.Monad.CC: instance GHC.Base.Functor (Control.Monad.CC.CC ans)
+ Control.Monad.CC: instance GHC.Base.Monad (Control.Monad.CC.CC ans)
+ Control.Monad.CC: instance GHC.Base.Monad m => Control.Monad.CC.MonadDelimitedCont (Control.Monad.CC.Prompt.Prompt ans) (Control.Monad.CC.SubCont ans m) (Control.Monad.CC.CCT ans m)
+ Control.Monad.CC: instance GHC.Base.Monad m => GHC.Base.Applicative (Control.Monad.CC.CCT ans m)
+ Control.Monad.CC: instance GHC.Base.Monad m => GHC.Base.Functor (Control.Monad.CC.CCT ans m)
+ Control.Monad.CC: instance GHC.Base.Monad m => GHC.Base.Monad (Control.Monad.CC.CCT ans m)
+ Control.Monad.CC.Prompt: instance Control.Monad.Reader.Class.MonadReader r m => Control.Monad.Reader.Class.MonadReader r (Control.Monad.CC.Prompt.P ans m)
+ Control.Monad.CC.Prompt: instance Control.Monad.Trans.Class.MonadTrans (Control.Monad.CC.Prompt.P ans)
+ Control.Monad.CC.Prompt: instance GHC.Base.Functor m => GHC.Base.Functor (Control.Monad.CC.Prompt.P ans m)
+ Control.Monad.CC.Prompt: instance GHC.Base.Monad m => Control.Monad.State.Class.MonadState GHC.Types.Int (Control.Monad.CC.Prompt.P ans m)
+ Control.Monad.CC.Prompt: instance GHC.Base.Monad m => GHC.Base.Applicative (Control.Monad.CC.Prompt.P ans m)
+ Control.Monad.CC.Prompt: instance GHC.Base.Monad m => GHC.Base.Monad (Control.Monad.CC.Prompt.P ans m)
- Control.Monad.CC: abort :: MonadDelimitedCont p s m => p b -> m b -> m a
+ Control.Monad.CC: abort :: (MonadDelimitedCont p s m) => p b -> m b -> m a
- Control.Monad.CC: class Monad m => MonadDelimitedCont p s m | m -> p s
+ Control.Monad.CC: class (Monad m) => MonadDelimitedCont p s m | m -> p s
- Control.Monad.CC: control :: MonadDelimitedCont p s m => p b -> ((m a -> m b) -> m b) -> m a
+ Control.Monad.CC: control :: (MonadDelimitedCont p s m) => p b -> ((m a -> m b) -> m b) -> m a
- Control.Monad.CC: control0 :: MonadDelimitedCont p s m => p b -> ((m a -> m b) -> m b) -> m a
+ Control.Monad.CC: control0 :: (MonadDelimitedCont p s m) => p b -> ((m a -> m b) -> m b) -> m a
- Control.Monad.CC: reset :: MonadDelimitedCont p s m => (p a -> m a) -> m a
+ Control.Monad.CC: reset :: (MonadDelimitedCont p s m) => (p a -> m a) -> m a
- Control.Monad.CC: runCCT :: Monad m => (forall ans. CCT ans m a) -> m a
+ Control.Monad.CC: runCCT :: (Monad m) => (forall ans. CCT ans m a) -> m a
- Control.Monad.CC: shift :: MonadDelimitedCont p s m => p b -> ((m a -> m b) -> m b) -> m a
+ Control.Monad.CC: shift :: (MonadDelimitedCont p s m) => p b -> ((m a -> m b) -> m b) -> m a
- Control.Monad.CC: shift0 :: MonadDelimitedCont p s m => p b -> ((m a -> m b) -> m b) -> m a
+ Control.Monad.CC: shift0 :: (MonadDelimitedCont p s m) => p b -> ((m a -> m b) -> m b) -> m a
- Control.Monad.CC.Prompt: newPromptName :: Monad m => P ans m (Prompt ans a)
+ Control.Monad.CC.Prompt: newPromptName :: (Monad m) => P ans m (Prompt ans a)
- Control.Monad.CC.Prompt: runP :: Monad m => P ans m ans -> m ans
+ Control.Monad.CC.Prompt: runP :: (Monad m) => P ans m ans -> m ans
Files
- CC-delcont.cabal +17/−15
- Control/Monad/CC/Prompt.hs +3/−1
CC-delcont.cabal view
@@ -1,5 +1,5 @@ Name: CC-delcont-Version: 0.2+Version: 0.2.1.0 Description: An implementation of multi-prompt delimited continuations based on the paper, /A Monadic Framework for Delimited Continuations/, by R. Kent Dybvig, Simon Peyton Jones and Amr Sabry@@ -24,20 +24,22 @@ Stability: Experimental Tested-With: GHC-Build-Depends: base, mtl Build-Type: Simple+Cabal-Version: >= 1.2.3 -Exposed-Modules: Control.Monad.CC,- Control.Monad.CC.Dynvar,- Control.Monad.CC.Seq,- Control.Monad.CC.Prompt,- Control.Monad.CC.Cursor-Extensions: MultiParamTypeClasses,- UndecidableInstances,- FunctionalDependencies,- Rank2Types,- GeneralizedNewtypeDeriving,- FlexibleInstances,- GADTs-GHC-Options: -O2 -Wall+library+ Build-Depends: base >= 4 && < 5, mtl >= 2 && < 3+ Exposed-Modules: Control.Monad.CC,+ Control.Monad.CC.Dynvar,+ Control.Monad.CC.Seq,+ Control.Monad.CC.Prompt,+ Control.Monad.CC.Cursor+ Extensions: MultiParamTypeClasses,+ UndecidableInstances,+ FunctionalDependencies,+ Rank2Types,+ GeneralizedNewtypeDeriving,+ FlexibleInstances,+ GADTs+ GHC-Options: -O2 -Wall
Control/Monad/CC/Prompt.hs view
@@ -31,6 +31,8 @@ Equal(..) ) where +import Control.Applicative+ import Control.Monad.State import Control.Monad.Reader import Control.Monad.Trans@@ -49,7 +51,7 @@ -- | The prompt generation monad. Represents the type of computations that -- make use of a supply of unique prompts. newtype P ans m a = P { unP :: StateT Int m a }- deriving (Functor, Monad, MonadTrans, MonadState Int, MonadReader r)+ deriving (Functor, Applicative, Monad, MonadTrans, MonadState Int, MonadReader r) -- | Runs a computation that makes use of prompts, yielding a result in the -- underlying monad.