git.iko.soy/typeable/openapi3
on master help sign in
Add missing documentation for Data.Swagger.Declare
9766b12Nickolay Kudasov
src/Data/Swagger/Declare.hs+13
@@ -72,12 +72,18 @@ instance (Monad m, Monoid d) => MonadDeclare d (DeclareT d m) where
72looks :: MonadDeclare d m => (d -> a) -> m a
72looks :: MonadDeclare d m => (d -> a) -> m a
73looks f = f <$> look
73looks f = f <$> look
74
74
75+-- | Evaluate @'DeclareT' d m a@ computation,
76+-- ignoring new output @d@.
75evalDeclareT :: Monad m => DeclareT d m a -> d -> m a
77evalDeclareT :: Monad m => DeclareT d m a -> d -> m a
76evalDeclareT (DeclareT f) d = snd `liftM` f d
78evalDeclareT (DeclareT f) d = snd `liftM` f d
77
79
80+-- | Execute @'DeclateT' d m a@ computation,
81+-- ignoring result and only producing new output @d@.
78execDeclareT :: Monad m => DeclareT d m a -> d -> m d
82execDeclareT :: Monad m => DeclareT d m a -> d -> m d
79execDeclareT (DeclareT f) d = fst `liftM` f d
83execDeclareT (DeclareT f) d = fst `liftM` f d
80
84
85+-- | Evaluate @'DeclareT' d m a@ computation,
86+-- starting with empty output history.
81undeclareT :: (Monad m, Monoid d) => DeclareT d m a -> m a
87undeclareT :: (Monad m, Monoid d) => DeclareT d m a -> m a
82undeclareT = flip evalDeclareT mempty
88undeclareT = flip evalDeclareT mempty
83
89
@@ -91,15 +97,22 @@ undeclareT = flip evalDeclareT mempty
91-- * a writer monad with the extra ability to read all previous output.
97-- * a writer monad with the extra ability to read all previous output.
92type Declare d = DeclareT d Identity
98type Declare d = DeclareT d Identity
93
99
100+-- | Run @'Declare' d a@ computation with output history @d@,
101+-- producing result @a@ and new output @d@.
94runDeclare :: Declare d a -> d -> (d, a)
102runDeclare :: Declare d a -> d -> (d, a)
95runDeclare m = runIdentity . runDeclareT m
103runDeclare m = runIdentity . runDeclareT m
96
104
105+-- | Evaluate @'Declare' d a@ computation, ignoring output @d@.
97evalDeclare :: Declare d a -> d -> a
106evalDeclare :: Declare d a -> d -> a
98evalDeclare m = runIdentity . evalDeclareT m
107evalDeclare m = runIdentity . evalDeclareT m
99
108
109+-- | Execute @'Declate' d a@ computation, ignoring result and only
110+-- producing output @d@.
100execDeclare :: Declare d a -> d -> d
111execDeclare :: Declare d a -> d -> d
101execDeclare m = runIdentity . execDeclareT m
112execDeclare m = runIdentity . execDeclareT m
102
113
114+-- | Evaluate @'DeclareT' d m a@ computation,
115+-- starting with empty output history.
103undeclare :: Monoid d => Declare d a -> a
116undeclare :: Monoid d => Declare d a -> a
104undeclare = runIdentity . undeclareT
117undeclare = runIdentity . undeclareT
105
118