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