| 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
| AutomatonM MooreT Source # | |
| (Functor m, Monad m) => Costrong (MooreT m) Source # | |
| Functor m => Profunctor (MooreT m) Source # | |
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 #  | |
| Applicative m => Applicative (MooreT m a) Source # | |
Defined in Data.Machine.MooreT  | |
| Functor m => Functor (MooreT m a) Source # | |
| (Distributive m, Applicative m) => Distributive (MooreT m a) Source # | |
Defined in Data.Machine.MooreT  | |
| Applicative m => Pointed (MooreT m a) Source # | |
Defined in Data.Machine.MooreT  | |
| (Applicative m, Monoid b) => Monoid (MooreT m a b) Source # | |
| (Applicative m, Semigroup b) => Semigroup (MooreT m a b) Source # | |
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