vinyl-0.5: Extensible Records

Safe HaskellNone
LanguageHaskell2010

Data.Vinyl.Functor

Documentation

data Thunk a Source

Constructors

Thunk 

Fields

getThunk :: a
 

newtype Lift op f g x Source

Constructors

Lift 

Fields

getLift :: op (f x) (g x)
 

Instances

(Functor f, Functor g) => Functor (Lift * * * Either f g) 
(Functor f, Functor g) => Functor (Lift * * * (,) f g) 
(Applicative f, Applicative g) => Applicative (Lift * * * (,) f g) 

newtype Compose f g x Source

Constructors

Compose 

Fields

getCompose :: f (g x)
 

Instances

(Functor f, Functor g) => Functor (Compose * * f g) 
(Applicative f, Applicative g) => Applicative (Compose * * f g) 
(Foldable f, Foldable g) => Foldable (Compose * * f g) 
(Traversable f, Traversable g) => Traversable (Compose * * f g) 
Storable (f (g x)) => Storable (Compose l k f g x) 

type (:.) f g = Compose f g Source

newtype Const a b Source

Constructors

Const 

Fields

getConst :: a
 

Instances

Functor (Const * a) 
Foldable (Const * a) 
Traversable (Const * a) 
Storable a => Storable (Const k a b)