|
139 | 139 | runErrorT :: forall e m a. ErrorT e m a -> m (Either e a) |
140 | 140 |
|
141 | 141 |
|
142 | | -## Module Control.Monad.Free |
143 | | - |
144 | | -### Types |
145 | | - |
146 | | - data Free f a where |
147 | | - Pure :: a -> Free f a |
148 | | - Free :: f (Free f a) -> Free f a |
149 | | - Gosub :: forall s. (forall r. (Unit -> Free f r) -> (r -> Free f a) -> s) -> s -> Free f a |
150 | | - |
151 | | - |
152 | | -### Type Classes |
153 | | - |
154 | | - class MonadFree f m where |
155 | | - wrap :: forall a. f (m a) -> m a |
156 | | - |
157 | | - |
158 | | -### Type Class Instances |
159 | | - |
160 | | - instance applicativeFree :: (Functor f) => Applicative (Free f) |
161 | | - |
162 | | - instance applyFree :: (Functor f) => Apply (Free f) |
163 | | - |
164 | | - instance bindFree :: (Functor f) => Bind (Free f) |
165 | | - |
166 | | - instance functorFree :: (Functor f) => Functor (Free f) |
167 | | - |
168 | | - instance monadFree :: (Functor f) => Monad (Free f) |
169 | | - |
170 | | - instance monadFreeFree :: (Functor f) => MonadFree f (Free f) |
171 | | - |
172 | | - instance monadTransFree :: MonadTrans Free |
173 | | - |
174 | | - |
175 | | -### Values |
176 | | - |
177 | | - go :: forall f a. (Functor f) => (f (Free f a) -> Free f a) -> Free f a -> a |
178 | | - |
179 | | - goEff :: forall e f a. (Functor f) => (f (Free f a) -> Eff e (Free f a)) -> Free f a -> Eff e a |
180 | | - |
181 | | - goM :: forall f m a. (Functor f, Monad m) => (f (Free f a) -> m (Free f a)) -> Free f a -> m a |
182 | | - |
183 | | - iterM :: forall f m a. (Functor f, Monad m) => (forall a. f (m a) -> m a) -> Free f a -> m a |
184 | | - |
185 | | - liftF :: forall f m a. (Functor f, Monad m, MonadFree f m) => f a -> m a |
186 | | - |
187 | | - pureF :: forall f a. (Applicative f) => a -> Free f a |
188 | | - |
189 | | - |
190 | 142 | ## Module Control.Monad.Identity |
191 | 143 |
|
192 | 144 | ### Types |
|
566 | 518 | withStateT :: forall s m a. (s -> s) -> StateT s m a -> StateT s m a |
567 | 519 |
|
568 | 520 |
|
569 | | -## Module Control.Monad.Trampoline |
570 | | - |
571 | | -### Types |
572 | | - |
573 | | - newtype Delay a where |
574 | | - Delay :: Unit -> a -> Delay a |
575 | | - |
576 | | - type Trampoline a = Free Delay a |
577 | | - |
578 | | - |
579 | | -### Type Class Instances |
580 | | - |
581 | | - instance delayApplicative :: Applicative Delay |
582 | | - |
583 | | - instance delayApply :: Apply Delay |
584 | | - |
585 | | - instance delayFunctor :: Functor Delay |
586 | | - |
587 | | - |
588 | | -### Values |
589 | | - |
590 | | - delay :: forall a. (Unit -> a) -> Trampoline a |
591 | | - |
592 | | - done :: forall a. a -> Trampoline a |
593 | | - |
594 | | - runTrampoline :: forall a. Trampoline a -> a |
595 | | - |
596 | | - suspend :: forall a. Trampoline a -> Trampoline a |
597 | | - |
598 | | - |
599 | 521 | ## Module Control.Monad.Trans |
600 | 522 |
|
601 | 523 | ### Type Classes |
|
0 commit comments