| Portability | non-portable |
|---|---|
| Stability | provisional |
| Maintainer | Edward Kmett <ekmett@gmail.com> |
| Safe Haskell | Safe-Inferred |
Control.Lens.Internal.Getter
Contents
Description
- class (Contravariant f, Functor f) => Gettable f
- coerce :: (Contravariant f, Functor f) => f a -> f b
- noEffect :: (Contravariant f, Applicative f) => f a
- newtype Accessor r a = Accessor {
- runAccessor :: r
Internal Classes
class (Contravariant f, Functor f) => Gettable f Source
This class is provided mostly for backwards compatibility with lens 3.8, but it can also shorten type signatures.
Instances
| (Contravariant f, Functor f) => Gettable f |
Getters
coerce :: (Contravariant f, Functor f) => f a -> f bSource
This Generalizes Const so we can apply simple Applicative
transformations to it and so we can get nicer error messages.
A Functor you can coerce ignores its argument, which it carries solely as a
phantom type parameter.
By the Functor and Contravariant laws, an instance of Gettable will necessarily satisfy:
id=fmapf =coerce=contramapg
noEffect :: (Contravariant f, Applicative f) => f aSource
The mempty equivalent for a Gettable Applicative Functor.