Safe Haskell | None |
---|---|
Language | Haskell98 |
An interface with references that can be used internally while generating instances
for MMorph
and tuple lens classes.
Only the public parts of Control.Reference.Representation are exported.
For creating a new interface with different generated elements, use this internal interface.
- bireference :: (RefMonads w r, RefMonads w' r') => (s -> r a) -> (b -> s -> w t) -> ((a -> w b) -> s -> w t) -> (a -> r' s) -> (t -> a -> w' b) -> ((s -> w' t) -> a -> w' b) -> Reference w r w' r' s t a b
- reference :: RefMonads w r => (s -> r a) -> (b -> s -> w t) -> ((a -> w b) -> s -> w t) -> Reference w r MU MU s t a b
- referenceWithClose :: (Functor w, Applicative w, Monad w, Functor r, Applicative r, Monad r) => (s -> r a) -> (s -> r ()) -> (b -> s -> w t) -> (s -> w ()) -> ((a -> w b) -> s -> w t) -> (s -> w ()) -> Reference w r MU MU s t a b
- module Control.Reference.Types
- module Control.Reference.Operators
- module Control.Reference.Combinators
- module Control.Reference.Predefined
- module Control.Reference.Generators
- module Control.Reference.Predefined.Containers
Documentation
:: RefMonads w r | |
=> (s -> r a) | Getter |
-> (b -> s -> w t) | Setter |
-> ((a -> w b) -> s -> w t) | Updater |
-> Reference w r MU MU s t a b |
Creates a reference.
:: (Functor w, Applicative w, Monad w, Functor r, Applicative r, Monad r) | |
=> (s -> r a) | Getter |
-> (s -> r ()) | Close after getting |
-> (b -> s -> w t) | Setter |
-> (s -> w ()) | Close after setting |
-> ((a -> w b) -> s -> w t) | Updater |
-> (s -> w ()) | Close after updating |
-> Reference w r MU MU s t a b |
Creates a reference with explicit close operations that are executed after the data is accessed.
module Control.Reference.Types
module Control.Reference.Operators
module Control.Reference.Predefined
module Control.Reference.Generators