git.iko.soy/typeable/swagger2
on master help sign in
Add missing documentation for Data.Swagger.Declare
commit9766b1276a9757eb26fb989af3dc7c99b19d6504 authorNickolay Kudasov <nickolay.kudasov@gmail.com> dateSat 19 Dec 2015, 17:39 (11 years ago) parente79655d
1 file changed+13
src/Data/Swagger/Declare.hs+13
src/Data/Swagger/Declare.hs+13
@@ -72,12 +72,18 @@ instance (Monad m, Monoid d) => MonadDeclare d (DeclareT d m) where
7272looks :: MonadDeclare d m => (d -> a) -> m a
7373looks f = f <$> look
7474
75+-- | Evaluate @'DeclareT' d m a@ computation,
76+-- ignoring new output @d@.
7577evalDeclareT :: Monad m => DeclareT d m a -> d -> m a
7678evalDeclareT (DeclareT f) d = snd `liftM` f d
7779
80+-- | Execute @'DeclateT' d m a@ computation,
81+-- ignoring result and only producing new output @d@.
7882execDeclareT :: Monad m => DeclareT d m a -> d -> m d
7983execDeclareT (DeclareT f) d = fst `liftM` f d
8084
85+-- | Evaluate @'DeclareT' d m a@ computation,
86+-- starting with empty output history.
8187undeclareT :: (Monad m, Monoid d) => DeclareT d m a -> m a
8288undeclareT = flip evalDeclareT mempty
8389
@@ -91,15 +97,22 @@ undeclareT = flip evalDeclareT mempty
9197-- * a writer monad with the extra ability to read all previous output.
9298type Declare d = DeclareT d Identity
9399
100+-- | Run @'Declare' d a@ computation with output history @d@,
101+-- producing result @a@ and new output @d@.
94102runDeclare :: Declare d a -> d -> (d, a)
95103runDeclare m = runIdentity . runDeclareT m
96104
105+-- | Evaluate @'Declare' d a@ computation, ignoring output @d@.
97106evalDeclare :: Declare d a -> d -> a
98107evalDeclare m = runIdentity . evalDeclareT m
99108
109+-- | Execute @'Declate' d a@ computation, ignoring result and only
110+-- producing output @d@.
100111execDeclare :: Declare d a -> d -> d
101112execDeclare m = runIdentity . execDeclareT m
102113
114+-- | Evaluate @'DeclareT' d m a@ computation,
115+-- starting with empty output history.
103116undeclare :: Monoid d => Declare d a -> a
104117undeclare = runIdentity . undeclareT
105118