Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
- data Karakuri m a = forall s . Karakuri (s -> m s) (s -> a) s
- type Karakuri' = Karakuri Identity
- step :: Monad m => Karakuri m a -> m (Karakuri m a)
- transKarakuri :: (forall s. m s -> n s) -> Karakuri m a -> Karakuri n a
- stateful :: Monad m => StateT s m () -> s -> Karakuri m s
- stateful' :: Monad m => State s () -> s -> Karakuri m s
- effective :: Monad m => a -> m a -> Karakuri m a
Documentation
Karakuri means automaton in Japanese.
forall s . Karakuri (s -> m s) (s -> a) s |
Functor (Karakuri m) | |
Monad m => Applicative (Karakuri m) | |
Comonad (Karakuri m) | |
Monad m => ComonadApply (Karakuri m) |
transKarakuri :: (forall s. m s -> n s) -> Karakuri m a -> Karakuri n a Source
stateful :: Monad m => StateT s m () -> s -> Karakuri m s Source
Create a Karakuri
from the stateful action.