MonadPrompt 1.0.0.3 → 1.0.0.4
raw patch · 2 files changed
+18/−2 lines, 2 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- Control/Monad/Prompt.hs +16/−0
- MonadPrompt.cabal +2/−2
Control/Monad/Prompt.hs view
@@ -229,6 +229,22 @@ prm' (Effect e) = prm e prm' (Lift a) = lft a +{- | 'runPromptTM' is a useful variant of runPromptT when interpreting into another monad -}+runPromptTM :: forall p m r n. (Monad n)+ => (forall a. p a -> n a) -- ^ interpretation for prompts+ -> (forall a. m a -> n a) -- ^ interpretation for lifted computations+ -> PromptT p m r -- ^ a prompt-based computation+ -> n r -- ^ resulting interpretation+runPromptTM prm lft = runPromptT return (\p k -> prm p >>= k) (\l k -> lft l >>= k)++{- | 'runPromptTM\'' specialises runPromptTM further for the case that you're interpreting to the base monad by supplying the identity function as the interpretation+ for lifted computations -}+runPromptTM' :: forall p m r. (Monad m)+ => (forall a. p a -> m a) -- ^ interpretation for prompts+ -> PromptT p m r -- ^ a prompt-based computation+ -> m r -- ^ resulting interpretation+runPromptTM' prm = runPromptTM prm id + {- | You can also lift any Prompt computation into a PromptT (or more generally, any appropriate MonadPrompt instance). This is the kind of place where the advantage of being able to use multiple observation functions on Prompt really shows. -} liftP :: (MonadPrompt p m) => Prompt p r -> m r
MonadPrompt.cabal view
@@ -1,11 +1,11 @@ name: MonadPrompt -version: 1.0.0.3 +version: 1.0.0.4 cabal-version: >= 1.2 build-type: Simple license: BSD3 license-file: LICENSE -copyright: (c) 2008 Ryan Ingram & Bertram Felgenhauer +copyright: (c) 2008 Ryan Ingram & Bertram Felgenhauer & Cale Gibbard author: Ryan Ingram maintainer: ryani.spam@gmail.com stability: experimental