typeparams-0.0.3.1: Lens-like interface for type level parameters; allows unboxed unboxed vectors and supercompilation

Safe HaskellNone
LanguageHaskell98

Data.Params.Functor

Documentation

class Functor lens tb where Source

Methods

fmap' :: (b ~ GetParam lens tb, ta ~ SetParam lens a tb) => TypeLens p lens -> (a -> b) -> ta -> tb Source

Instances

Functor (Base *) t 
Functor p a => Functor (Param_a p) (Maybe a) 
Functor p b => Functor (Param_b p) (Either a b) 
Functor p a => Functor (Param_a p) (Either a b) 

fmap :: (Functor lens tb, b ~ GetParam lens tb, ta ~ SetParam lens a tb) => TypeLens Base lens -> (a -> b) -> ta -> tb Source

class Param_a _p t Source

Instances

HasDictionary _p => HasDictionary (Param_a _p) 
ViewParam _p a => ViewParam (Param_a _p) (Maybe a) 
Functor p a => Functor (Param_a p) (Maybe a) 
ViewParam _p a => ViewParam (Param_a _p) (Either a b) 
Functor p a => Functor (Param_a p) (Either a b) 
type GetParam * ((* -> Constraint) -> * -> Constraint) Param_a (Maybe a) = a 
type GetParam * ((* -> Constraint) -> * -> Constraint) Param_a (Either a b) = a 
type GetParam * (* -> Constraint) (Param_a p) (Maybe a) = GetParam * (* -> Constraint) p a 
type GetParam * (* -> Constraint) (Param_a p) (Either a b) = GetParam * (* -> Constraint) p a 
type ParamType (Param_a _p) = ParamType _p 
data ParamDict (Param_a _p) = ParamDict_Param_a {} 
type SetParam' (Param_a p) newparam t = SetParam ((* -> Constraint) -> * -> Constraint) * Param_a (SetParam (* -> Constraint) * p newparam (GetParam * ((* -> Constraint) -> * -> Constraint) Param_a t)) t 
type SetParam' (Param_a p) newparam t = SetParam ((* -> Constraint) -> * -> Constraint) * Param_a (SetParam (* -> Constraint) * p newparam (GetParam * ((* -> Constraint) -> * -> Constraint) Param_a t)) t 
type SetParam ((* -> Constraint) -> * -> Constraint) * Param_a newparam (Maybe a) = Maybe newparam 
type SetParam ((* -> Constraint) -> * -> Constraint) * Param_a newparam (Either a b) = Either newparam b 
type SetParam (* -> Constraint) * (Param_a p) newparam t = SetParam ((* -> Constraint) -> * -> Constraint) * Param_a (SetParam (* -> Constraint) * p newparam (GetParam * ((* -> Constraint) -> * -> Constraint) Param_a t)) t 
type SetParam (* -> Constraint) * (Param_a p) newparam t = SetParam ((* -> Constraint) -> * -> Constraint) * Param_a (SetParam (* -> Constraint) * p newparam (GetParam * ((* -> Constraint) -> * -> Constraint) Param_a t)) t 
type ApplyConstraint_GetConstraint (* -> Constraint) (Param_a _p) = ApplyConstraint_GetConstraint (* -> Constraint) _p 
type ApplyConstraint_GetConstraint (* -> Constraint) (Param_a _p) = ApplyConstraint_GetConstraint (* -> Constraint) _p 
type ApplyConstraint_GetType (* -> Constraint) (Param_a _p) (Maybe a) = ApplyConstraint_GetType (* -> Constraint) _p a 
type ApplyConstraint_GetType (* -> Constraint) (Param_a _p) (Either a b) = ApplyConstraint_GetType (* -> Constraint) _p a 
type EyePiece ((* -> Constraint) -> * -> Constraint) (* -> Constraint) (Param_a p) = Param_a 
type EyePiece ((* -> Constraint) -> * -> Constraint) (* -> Constraint) (Param_a p) = Param_a 
type Zoom (* -> Constraint) (* -> Constraint) (Param_a p) = p 
type Zoom (* -> Constraint) (* -> Constraint) (Param_a p) = p 

class Param_b _p t Source

Instances

HasDictionary _p => HasDictionary (Param_b _p) 
ViewParam _p b => ViewParam (Param_b _p) (Either a b) 
Functor p b => Functor (Param_b p) (Either a b) 
type GetParam * ((* -> Constraint) -> * -> Constraint) Param_b (Either a b) = b 
type GetParam * (* -> Constraint) (Param_b p) (Either a b) = GetParam * (* -> Constraint) p b 
type ParamType (Param_b _p) = ParamType _p 
data ParamDict (Param_b _p) = ParamDict_Param_b {} 
type SetParam' (Param_b p) newparam t = SetParam ((* -> Constraint) -> * -> Constraint) * Param_b (SetParam (* -> Constraint) * p newparam (GetParam * ((* -> Constraint) -> * -> Constraint) Param_b t)) t 
type SetParam ((* -> Constraint) -> * -> Constraint) * Param_b newparam (Either a b) = Either a newparam 
type SetParam (* -> Constraint) * (Param_b p) newparam t = SetParam ((* -> Constraint) -> * -> Constraint) * Param_b (SetParam (* -> Constraint) * p newparam (GetParam * ((* -> Constraint) -> * -> Constraint) Param_b t)) t 
type ApplyConstraint_GetConstraint (* -> Constraint) (Param_b _p) = ApplyConstraint_GetConstraint (* -> Constraint) _p 
type ApplyConstraint_GetType (* -> Constraint) (Param_b _p) (Either a b) = ApplyConstraint_GetType (* -> Constraint) _p b 
type EyePiece ((* -> Constraint) -> * -> Constr