prompt 0.1.1.0 → 0.1.1.1
raw patch · 5 files changed
+24/−12 lines, 5 filesdep +base-compatPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependencies added: base-compat
API changes (from Hackage documentation)
- Control.Monad.Prompt: instance (Alternative t, Traversable t) => Alternative (PromptT a b t)
- Control.Monad.Prompt: instance (Monad t, Traversable t) => Monad (PromptT a b t)
- Control.Monad.Prompt: instance (MonadError e t, Traversable t) => MonadError e (PromptT a b t)
- Control.Monad.Prompt: instance (MonadPlus t, Traversable t) => MonadPlus (PromptT a b t)
- Control.Monad.Prompt: instance (MonadReader r t, Traversable t) => MonadReader r (PromptT a b t)
- Control.Monad.Prompt: instance (MonadState s t, Traversable t) => MonadState s (PromptT a b t)
- Control.Monad.Prompt: instance (MonadWriter w t, Traversable t) => MonadWriter w (PromptT a b t)
- Control.Monad.Prompt: instance Applicative t => Applicative (PromptT a b t)
- Control.Monad.Prompt: instance Applicative t => MonadPrompt a b (PromptT a b t)
- Control.Monad.Prompt: instance Functor t => Functor (PromptT a b t)
- Control.Monad.Prompt: instance MonadTrans (PromptT a b)
- Control.Monad.Prompt.Class: instance (Monad m, MonadPrompt a b m) => MonadPrompt a b (ExceptT e m)
- Control.Monad.Prompt.Class: instance (Monad m, MonadPrompt a b m) => MonadPrompt a b (MaybeT m)
- Control.Monad.Prompt.Class: instance (Monad m, MonadPrompt a b m) => MonadPrompt a b (ReaderT r m)
- Control.Monad.Prompt.Class: instance (Monad m, MonadPrompt a b m) => MonadPrompt a b (StateT s m)
- Control.Monad.Prompt.Class: instance (Monad m, MonadPrompt a b m, Error e) => MonadPrompt a b (ErrorT e m)
- Control.Monad.Prompt.Class: instance (Monad m, MonadPrompt a b m, Monoid w) => MonadPrompt a b (RWST r w s m)
- Control.Monad.Prompt.Class: instance (Monad m, MonadPrompt a b m, Monoid w) => MonadPrompt a b (WriterT w m)
+ Control.Monad.Prompt: instance (Control.Monad.Error.Class.MonadError e t, Data.Traversable.Traversable t) => Control.Monad.Error.Class.MonadError e (Control.Monad.Prompt.PromptT a b t)
+ Control.Monad.Prompt: instance (Control.Monad.Reader.Class.MonadReader r t, Data.Traversable.Traversable t) => Control.Monad.Reader.Class.MonadReader r (Control.Monad.Prompt.PromptT a b t)
+ Control.Monad.Prompt: instance (Control.Monad.State.Class.MonadState s t, Data.Traversable.Traversable t) => Control.Monad.State.Class.MonadState s (Control.Monad.Prompt.PromptT a b t)
+ Control.Monad.Prompt: instance (Control.Monad.Writer.Class.MonadWriter w t, Data.Traversable.Traversable t) => Control.Monad.Writer.Class.MonadWriter w (Control.Monad.Prompt.PromptT a b t)
+ Control.Monad.Prompt: instance (GHC.Base.Alternative t, Data.Traversable.Traversable t) => GHC.Base.Alternative (Control.Monad.Prompt.PromptT a b t)
+ Control.Monad.Prompt: instance (GHC.Base.Monad t, Data.Traversable.Traversable t) => GHC.Base.Monad (Control.Monad.Prompt.PromptT a b t)
+ Control.Monad.Prompt: instance (GHC.Base.MonadPlus t, Data.Traversable.Traversable t) => GHC.Base.MonadPlus (Control.Monad.Prompt.PromptT a b t)
+ Control.Monad.Prompt: instance Control.Monad.Trans.Class.MonadTrans (Control.Monad.Prompt.PromptT a b)
+ Control.Monad.Prompt: instance GHC.Base.Applicative t => Control.Monad.Prompt.Class.MonadPrompt a b (Control.Monad.Prompt.PromptT a b t)
+ Control.Monad.Prompt: instance GHC.Base.Applicative t => GHC.Base.Applicative (Control.Monad.Prompt.PromptT a b t)
+ Control.Monad.Prompt: instance GHC.Base.Functor t => GHC.Base.Functor (Control.Monad.Prompt.PromptT a b t)
+ Control.Monad.Prompt.Class: instance (GHC.Base.Monad m, Control.Monad.Prompt.Class.MonadPrompt a b m) => Control.Monad.Prompt.Class.MonadPrompt a b (Control.Monad.Trans.Error.ErrorT e m)
+ Control.Monad.Prompt.Class: instance (GHC.Base.Monad m, Control.Monad.Prompt.Class.MonadPrompt a b m) => Control.Monad.Prompt.Class.MonadPrompt a b (Control.Monad.Trans.Except.ExceptT e m)
+ Control.Monad.Prompt.Class: instance (GHC.Base.Monad m, Control.Monad.Prompt.Class.MonadPrompt a b m) => Control.Monad.Prompt.Class.MonadPrompt a b (Control.Monad.Trans.Maybe.MaybeT m)
+ Control.Monad.Prompt.Class: instance (GHC.Base.Monad m, Control.Monad.Prompt.Class.MonadPrompt a b m) => Control.Monad.Prompt.Class.MonadPrompt a b (Control.Monad.Trans.Reader.ReaderT r m)
+ Control.Monad.Prompt.Class: instance (GHC.Base.Monad m, Control.Monad.Prompt.Class.MonadPrompt a b m) => Control.Monad.Prompt.Class.MonadPrompt a b (Control.Monad.Trans.State.Lazy.StateT s m)
+ Control.Monad.Prompt.Class: instance (GHC.Base.Monad m, Control.Monad.Prompt.Class.MonadPrompt a b m) => Control.Monad.Prompt.Class.MonadPrompt a b (Control.Monad.Trans.State.Strict.StateT s m)
+ Control.Monad.Prompt.Class: instance (GHC.Base.Monad m, Control.Monad.Prompt.Class.MonadPrompt a b m, GHC.Base.Monoid w) => Control.Monad.Prompt.Class.MonadPrompt a b (Control.Monad.Trans.RWS.Lazy.RWST r w s m)
+ Control.Monad.Prompt.Class: instance (GHC.Base.Monad m, Control.Monad.Prompt.Class.MonadPrompt a b m, GHC.Base.Monoid w) => Control.Monad.Prompt.Class.MonadPrompt a b (Control.Monad.Trans.RWS.Strict.RWST r w s m)
+ Control.Monad.Prompt.Class: instance (GHC.Base.Monad m, Control.Monad.Prompt.Class.MonadPrompt a b m, GHC.Base.Monoid w) => Control.Monad.Prompt.Class.MonadPrompt a b (Control.Monad.Trans.Writer.Lazy.WriterT w m)
+ Control.Monad.Prompt.Class: instance (GHC.Base.Monad m, Control.Monad.Prompt.Class.MonadPrompt a b m, GHC.Base.Monoid w) => Control.Monad.Prompt.Class.MonadPrompt a b (Control.Monad.Trans.Writer.Strict.WriterT w m)
Files
- CHANGELOG.md +7/−0
- README.md +7/−0
- prompt.cabal +2/−1
- src/Control/Monad/Prompt.hs +5/−6
- src/Control/Monad/Prompt/Class.hs +3/−5
CHANGELOG.md view
@@ -1,3 +1,10 @@+0.1.1.1+-------+<https://github.com/mstksg/prompt/releases/tag/v0.1.1.1>++* Removed redundant `Error` constraint on `MonadPrompt` instance for+ `ErrorT`.+ 0.1.1.0 ------- <https://github.com/mstksg/prompt/releases/tag/v0.1.1.0>
README.md view
@@ -1,6 +1,13 @@ prompt ====== +[](http://stackage.org/lts-2/package/prompt)+[](http://stackage.org/lts-3/package/prompt)+[](http://stackage.org/lts-4/package/prompt)+[](http://stackage.org/lts/package/prompt)+[](http://stackage.org/nightly/package/prompt)++ Lightweight library providing a monad/applicative (and transformer) for delayed-effect "pure" prompt-and-respose queries.
prompt.cabal view
@@ -2,7 +2,7 @@ -- see http://haskell.org/cabal/users-guide/ name: prompt-version: 0.1.1.0+version: 0.1.1.1 synopsis: Monad (and transformer) for deferred-effect pure prompt-response queries description: Monad (and transformer) for delayed-effect "pure"@@ -49,6 +49,7 @@ -- other-modules: -- other-extensions: build-depends: base >=4.6 && <5+ , base-compat , mtl , transformers , transformers-compat
src/Control/Monad/Prompt.hs view
@@ -1,6 +1,7 @@ {-# LANGUAGE CPP #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE RankNTypes #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE UndecidableInstances #-}@@ -61,7 +62,7 @@ ) where import Control.Applicative-import Control.Monad hiding (sequence, mapM, msum)+import Control.Monad.Compat hiding (sequence, mapM, msum) import Control.Monad.Error.Class import Control.Monad.Prompt.Class import Control.Monad.Reader.Class@@ -70,11 +71,7 @@ import Control.Monad.Writer.Class import Data.Foldable import Data.Functor.Identity--#if !MIN_VERSION_base(4,8,0)-import Data.Traversable-import Prelude hiding (sequence, mapM)-#endif+import Prelude.Compat -- | Like 'Prompt', but can perform its "pure" computations in the context@@ -307,6 +304,8 @@ -- 'Prompt' itself in general has nothing to do with @m@, and cannot -- execute arbitrary @m@ other than that given in the prompt response -- function.+--+-- Effectively treats a @'Prompt' a b@ as a @forall m. ReaderT (a -> m b) m@ runPromptM :: Monad m => Prompt a b r -> (a -> m b) -- ^ "Prompt response function", effectfully
src/Control/Monad/Prompt/Class.hs view
@@ -2,6 +2,7 @@ {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE FunctionalDependencies #-} {-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE UndecidableInstances #-} {-# OPTIONS_GHC -fno-warn-warnings-deprecations #-} @@ -42,6 +43,7 @@ import Control.Monad.Trans.Except import Control.Monad.Trans.Maybe import Control.Monad.Trans.Reader+import Prelude.Compat import qualified Control.Monad.Trans.RWS.Lazy as RWSL import qualified Control.Monad.Trans.RWS.Strict as RWSS import qualified Control.Monad.Trans.State.Lazy as SL@@ -49,10 +51,6 @@ import qualified Control.Monad.Trans.Writer.Lazy as WL import qualified Control.Monad.Trans.Writer.Strict as WS -#if !MIN_VERSION_base(4,8,0)-import Control.Applicative-import Data.Monoid-#endif -- | An 'Applicative' (and possibly 'Monad') where you can, at any time, -- "prompt" with an @a@ and receive a @b@ in response.@@ -90,7 +88,7 @@ prompt = lift . prompt prompts f = lift . prompts f -instance (Monad m, MonadPrompt a b m, Error e) => MonadPrompt a b (ErrorT e m) where+instance (Monad m, MonadPrompt a b m) => MonadPrompt a b (ErrorT e m) where prompt = lift . prompt prompts f = lift . prompts f