data-layer-1.0.4: Data layering utilities. Layer is a data-type which wrapps other one, but keeping additional information. If you want to access content of simple newtype object, use Lens.Wrapper instead.

Safe HaskellNone
LanguageHaskell2010

Data.Layer.Cover

Documentation

newtype Cover a Source

Constructors

Cover a 

Instances

Functor Cover Source 
Foldable Cover Source 
Traversable Cover Source 
Monad m => CoverConstructorFix m (Cover a) Source 
Monad m => CoverConstructor m (Cover a) Source 
Monad m => CoveredM m (Cover a) Source 
Eq a => Eq (Cover a) Source 
Ord a => Ord (Cover a) Source 
Show a => Show (Cover a) Source 
Wrapped (Cover a) Source 
Layered (Cover a) Source 
Covered (Cover a) Source 
Rewrapped (Cover a) (Cover a') Source 
Convertible a a' => Convertible (Cover a) (Cover a') Source 
Castable a a' => Castable (Cover a) (Cover a') Source 
type Unwrapped (Cover a) = a Source 
type Unlayered (Cover a) = a Source 

type family Uncovered a Source

Equations

Uncovered (Cover a) = a 
Uncovered a = Uncovered (Unlayered a) 

class Covered a where Source

Methods

covered :: Lens' a (Uncovered a) Source

Instances

class CoveredM m a where Source

Methods

viewCoveredM :: a -> m (Uncovered a) Source

setCoveredM :: Uncovered a -> a -> m a Source

Instances

(Monad m, LayeredM m a, CoveredM m (Unlayered a), (~) * (Uncovered a) (Uncovered (Unlayered a))) => CoveredM m a Source 
Monad m => CoveredM m (Cover a) Source