| Copyright | (C) 2012 Edward Kmett |
|---|---|
| License | BSD-style (see the file LICENSE) |
| Maintainer | Edward Kmett <ekmett@gmail.com> |
| Stability | provisional |
| Portability | portable |
| Safe Haskell | Safe-Inferred |
| Language | Haskell2010 |
Data.Machine.MooreT
Description
Synopsis
- newtype MooreT m a b = MooreT {}
- unfoldMooreT :: Functor m => (s -> m (b, a -> s)) -> s -> MooreT m a b
- upgrade :: Applicative m => Moore a b -> MooreT m a b
- hoist :: Functor n => (forall x. m x -> n x) -> MooreT m a b -> MooreT n a b
- couple :: Monad m => MooreT m a b -> MealyT m b a -> m c
- firstM :: (Functor m, Monad m) => (a' -> m a) -> MooreT m a b -> MooreT m a' b
- secondM :: Monad m => (b -> m b') -> MooreT m a b -> MooreT m a b'
Documentation
Moore machine, with applicative effects
Instances
Instances details
Instance details
Defined in Data.Machine.MooreT
Methods
dimap :: (a -> b) -> (c -> d) -> MooreT m b c -> MooreT m a d #
lmap :: (a -> b) -> MooreT m b c -> MooreT m a c #
rmap :: (b -> c) -> MooreT m a b -> MooreT m a c #
(#.) :: forall a b c q. Coercible c b => q b c -> MooreT m a b -> MooreT m a c #
(.#) :: forall a b c q. Coercible b a => MooreT m b c -> q a b -> MooreT m a c #
Instance details
Defined in Data.Machine.MooreT
Instance details
Defined in Data.Machine.MooreT
unfoldMooreT :: Functor m => (s -> m (b, a -> s)) -> s -> MooreT m a b Source #
Construct a MooreT machine from a state valuation and transition action