| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Data.Monoid.Instances.Stateful
Description
This module defines the monoid transformer data type Stateful.
> let s = setState [4] $ pure "data" :: Stateful [Int] String
> s
Stateful ("data",[4])
> factors s
[Stateful ("d",[]),Stateful ("a",[]),Stateful ("t",[]),Stateful ("a",[]),Stateful ("",[4])]Documentation
is a wrapper around the Stateful a bMonoid b that carries the state a along. The state type a must be
a monoid as well if Stateful is to be of any use. In the FactorialMonoid and TextualMonoid class instances, the
monoid b has the priority and the state a is left for the end.
Constructors
| Stateful (b, a) |
Instances
| Functor (Stateful a) | |
| Monoid a => Applicative (Stateful a) | |
| (Eq a, Eq b) => Eq (Stateful a b) | |
| (Ord a, Ord b) => Ord (Stateful a b) | |
| (Show a, Show b) => Show (Stateful a b) | |
| (Monoid a, IsString b) => IsString (Stateful a b) | |
| (Monoid a, Monoid b) => Monoid (Stateful a b) | |
| (PositiveMonoid a, PositiveMonoid b) => PositiveMonoid (Stateful a b) | |
| (MonoidNull a, MonoidNull b) => MonoidNull (Stateful a b) | |
| (StableFactorialMonoid a, StableFactorialMonoid b) => StableFactorialMonoid (Stateful a b) | |
| (FactorialMonoid a, FactorialMonoid b) => FactorialMonoid (Stateful a b) | |
| (RightGCDMonoid a, RightGCDMonoid b) => RightGCDMonoid (Stateful a b) | |
| (LeftGCDMonoid a, LeftGCDMonoid b) => LeftGCDMonoid (Stateful a b) | |
| (RightReductiveMonoid a, RightReductiveMonoid b) => RightReductiveMonoid (Stateful a b) | |
| (LeftReductiveMonoid a, LeftReductiveMonoid b) => LeftReductiveMonoid (Stateful a b) | |
| (LeftGCDMonoid a, FactorialMonoid a, TextualMonoid b) => TextualMonoid (Stateful a b) |