Copyright | (C) 2013-2016 Edward Kmett, 2015-2016 Artyom |
---|---|
License | BSD-style (see the file LICENSE) |
Safe Haskell | Safe |
Language | Haskell2010 |
This module provides types and functions that require Contravariant
; they aren't included in the main microlens package because contravariant has a lot of dependencies.
- type Getter s a = forall f. (Contravariant f, Functor f) => (a -> f a) -> s -> f s
- fromSimpleGetter :: SimpleGetter s a -> Getter s a
- type Fold s a = forall f. (Contravariant f, Applicative f) => (a -> f a) -> s -> f s
- fromSimpleFold :: SimpleFold s a -> Fold s a
Getter
type Getter s a = forall f. (Contravariant f, Functor f) => (a -> f a) -> s -> f s Source
This is the same thing as SimpleGetter
but more generalised (so that it would fully match the type used in lens).
fromSimpleGetter :: SimpleGetter s a -> Getter s a Source
Turn a SimpleGetter
into a true Getter
.
Fold
type Fold s a = forall f. (Contravariant f, Applicative f) => (a -> f a) -> s -> f s Source
This is the same thing as SimpleFold
but more generalised (so that it would fully match the type used in lens). See documentation of SimpleFold
for the list of functions that work on Fold
but don't work on SimpleFold
.
fromSimpleFold :: SimpleFold s a -> Fold s a Source
Turn a SimpleFold
into a true Fold
.