Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- (<+>) :: Rec f as -> Rec f bs -> Rec f (as ++ bs)
- (<<*>>) :: RApply rs => Rec (Lift (->) f g) rs -> Rec f rs -> Rec g rs
- (<<$>>) :: RMap rs => (forall x. f x -> g x) -> Rec f rs -> Rec g rs
- (<<&>>) :: RMap 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
(<<*>>) :: RApply rs => Rec (Lift (->) f g) rs -> Rec f rs -> Rec g rs infixl 8 Source #
A shorthand for rapply
.
(<<$>>) :: RMap rs => (forall x. f x -> g x) -> Rec f rs -> Rec g rs infixl 8 Source #
A shorthand for rmap
.
(<<&>>) :: RMap rs => Rec f rs -> (forall x. f x -> g x) -> Rec g rs Source #
An inverted shorthand for rmap
.
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 :: *
.
Instances
RecElem (Rec :: (a -> *) -> [a] -> *) (r :: a) (r' :: a) (r ': rs :: [a]) (r' ': rs :: [a]) Z Source # | |
Defined in Data.Vinyl.Lens type RecElemFCtx Rec f :: Constraint Source # | |
(RIndex r (s ': rs) ~ S i, RecElem (Rec :: (a -> *) -> [a] -> *) r r' rs rs' i) => RecElem (Rec :: (a -> *) -> [a] -> *) (r :: a) (r' :: a) (s ': rs :: [a]) (s ': rs' :: [a]) (S i) Source # | |
Defined in Data.Vinyl.Lens type RecElemFCtx Rec f :: Constraint Source # | |
RecSubset (Rec :: (k -> *) -> [k] -> *) ([] :: [k]) (ss :: [k]) ([] :: [Nat]) Source # | |
Defined in Data.Vinyl.Lens type RecSubsetFCtx Rec f :: Constraint Source # | |
(RElem r ss i, RSubset rs ss is) => RecSubset (Rec :: (k -> *) -> [k] -> *) (r ': rs :: [k]) (ss :: [k]) (i ': is) Source # | |
Defined in Data.Vinyl.Lens type RecSubsetFCtx Rec f :: Constraint Source # | |
TestCoercion f => TestCoercion (Rec f :: [u] -> *) Source # | |
Defined in Data.Vinyl.Core | |
TestEquality f => TestEquality (Rec f :: [u] -> *) Source # | |
Defined in Data.Vinyl.Core | |
(Eq (f r), Eq (Rec f rs)) => Eq (Rec f (r ': rs)) Source # | |
Eq (Rec f ([] :: [u])) Source # | |
(Ord (f r), Ord (Rec f rs)) => Ord (Rec f (r ': rs)) Source # | |
Defined in Data.Vinyl.Core compare :: Rec f (r ': rs) -> Rec f (r ': rs) -> Ordering # (<) :: Rec f (r ': rs) -> Rec f (r ': rs) -> Bool # (<=) :: Rec f (r ': rs) -> Rec f (r ': rs) -> Bool # (>) :: Rec f (r ': rs) -> Rec f (r ': rs) -> Bool # (>=) :: Rec f (r ': rs) -> Rec f (r ': rs) -> Bool # max :: Rec f (r ': rs) -> Rec f (r ': rs) -> Rec f (r ': rs) # min :: Rec f (r ': rs) -> Rec f (r ': rs) -> Rec f (r ': rs) # | |
Ord (Rec f ([] :: [u])) Source # | |
Defined in Data.Vinyl.Core | |
(RMap rs, ReifyConstraint Show f rs, RecordToList rs) => Show (Rec f rs) Source # | Records may be shown insofar as their points may be shown.
|
(Semigroup (f r), Semigroup (Rec f rs)) => Semigroup (Rec f (r ': rs)) Source # | |
Semigroup (Rec f ([] :: [u])) Source # | |
(Monoid (f r), Monoid (Rec f rs)) => Monoid (Rec f (r ': rs)) Source # | |
Monoid (Rec f ([] :: [u])) Source # | |
(Storable (f r), Storable (Rec f rs)) => Storable (Rec f (r ': rs)) Source # | |
Defined in Data.Vinyl.Core sizeOf :: Rec f (r ': rs) -> Int # alignment :: Rec f (r ': rs) -> Int # peekElemOff :: Ptr (Rec f (r ': rs)) -> Int -> IO (Rec f (r ': rs)) # pokeElemOff :: Ptr (Rec f (r ': rs)) -> Int -> Rec f (r ': rs) -> IO () # peekByteOff :: Ptr b -> Int -> IO (Rec f (r ': rs)) # pokeByteOff :: Ptr b -> Int -> Rec f (r ': rs) -> IO () # | |
Storable (Rec f ([] :: [u])) Source # | |
Defined in Data.Vinyl.Core | |
type RecSubsetFCtx (Rec :: (k -> *) -> [k] -> *) (f :: k -> *) Source # | |
Defined in Data.Vinyl.Lens | |
type RecSubsetFCtx (Rec :: (k -> *) -> [k] -> *) (f :: k -> *) Source # | |
Defined in Data.Vinyl.Lens | |
type RecElemFCtx (Rec :: (a -> *) -> [a] -> *) (f :: a -> *) Source # | |
Defined in Data.Vinyl.Lens | |
type RecElemFCtx (Rec :: (a -> *) -> [a] -> *) (f :: a -> *) Source # | |
Defined in Data.Vinyl.Lens |
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.