| License | BSD-style (see the file LICENSE) |
|---|---|
| Safe Haskell | None |
| Language | Haskell2010 |
Data.Machine.MealyT
Description
Synopsis
- newtype MealyT m a b = MealyT {}
- arrPure :: (a -> b) -> MealyT Identity a b
- arrM :: Functor m => (a -> m b) -> MealyT m a b
- upgrade :: Monad m => Mealy a b -> MealyT m a b
- scanMealyT :: Monad m => (a -> b -> a) -> a -> MealyT m b a
- scanMealyTM :: Functor m => (a -> b -> m a) -> a -> MealyT m b a
- embedMealyT :: Monad m => MealyT m a b -> [a] -> m [b]
Documentation
Mealy machine, with monadic effects
Instances
Functor m => Profunctor (MealyT m) Source #
Profunctor Example:
>>>embedMealyT (dimap (+21) (+1) (arr (+1))) [1,2,3 :: Int][24,25,26]
Methods
dimap :: (a -> b) -> (c -> d) -> MealyT m b c -> MealyT m a d #
lmap :: (a -> b) -> MealyT m b c -> MealyT m a c #
rmap :: (b -> c) -> MealyT m a b -> MealyT m a c #
(#.) :: Coercible * c b => (b -> c) -> MealyT m a b -> MealyT m a c #
(.#) :: Coercible * b a => MealyT m b c -> (a -> b) -> MealyT m a c #
scanMealyT :: Monad m => (a -> b -> a) -> a -> MealyT m b a Source #
scanMealyTM :: Functor m => (a -> b -> m a) -> a -> MealyT m b a Source #
embedMealyT :: Monad m => MealyT m a b -> [a] -> m [b] Source #
embedMealyT Example:
>>>embedMealyT (arr (+1)) [1,2,3][2,3,4]