Safe Haskell  None 

Language  Haskell2010 
 (<+>) :: Rec f as > Rec f bs > Rec f (as ++ bs)
 (<<*>>) :: Rec (Lift (>) f g) rs > Rec f rs > Rec g rs
 (<<$>>) :: (forall x. f x > g x) > Rec f rs > Rec g rs
 (<<&>>) :: Rec f rs > (forall x. f x > g x) > Rec g rs
 data Rec :: (u > *) > [u] > * where
 type (∈) r rs = RElem r rs (RIndex r rs)
 type (⊆) rs ss = RSubset rs ss (RImage rs ss)
 type (≅) rs ss = REquivalent rs ss (RImage rs ss) (RImage ss rs)
 type (<:) rs ss = rs ⊆ ss
 type (:~:) rs ss = rs ≅ ss
Documentation
data Rec :: (u > *) > [u] > * where Source
A record is parameterized by a universe u
, an interpretation f
and a
list of rows rs
. The labels or indices of the record are given by
inhabitants of the kind u
; the type of values at any label r :: u
is
given by its interpretation f r :: *
.
(Eq (f r), Eq (Rec k f rs)) => Eq (Rec k f ((:) k r rs))  
Eq (Rec k f ([] k))  
RecAll k f rs Show => Show (Rec k f rs)  Records may be shown insofar as their points may be shown.

(Storable (f r), Storable (Rec k f rs)) => Storable (Rec k f ((:) k r rs))  
Storable (Rec k f ([] k))  
(Monoid (f r), Monoid (Rec k f rs)) => Monoid (Rec k f ((:) k r rs))  
Monoid (Rec k f ([] k)) 
type (⊆) rs ss = RSubset rs ss (RImage rs ss) Source
A shorthand for RSubset
which supplies its image.
type (≅) rs ss = REquivalent rs ss (RImage rs ss) (RImage ss rs) Source
A shorthand for REquivalent
which supplies its images.