Safe Haskell | Safe |
---|---|
Language | Haskell98 |
Lenses that only allow monomorphic updates. Monomorphic lenses are simply polymorphic lenses with the input and output type variables constraint to the same type.
- type Lens cat f o = Lens cat (f -> f) (o -> o)
- lens :: cat f o -> cat (cat o o, f) f -> Lens cat f o
- get :: Lens cat f o -> cat f o
- modify :: Lens cat f o -> cat (cat o o, f) f
- point :: Point cat f o f o -> Lens cat f o
- set :: Arrow arr => Lens arr f o -> arr (o, f) f
- iso :: ArrowApply cat => Iso cat f o -> Lens cat f o
- type (:->) f o = Lens Total f o
- type (:~>) f o = Lens Partial f o
Documentation
type Lens cat f o = Lens cat (f -> f) (o -> o) Source #
Abstract monomorphic lens datatype. The getter and setter functions work in some category. Categories allow for effectful lenses, for example, lenses that might fail or use state.
:: cat f o | Getter. |
-> cat (cat o o, f) f | Modifier. |
-> Lens cat f o |
Create a lens out of a getter and setter.