vinyl-0.1.3: Extensible Records

Safe HaskellNone

Data.Vinyl.Relation

Synopsis

Documentation

class IsSubtype r1 r2 => r1 (<:) r2 whereSource

A subtyping relation.

Methods

cast :: r1 -> r2Source

Instances

(~ * y (::: sy t), IElem * y xs, <: (PlainRec xs) (PlainRec ys)) => (PlainRec xs) <: (PlainRec (: * y ys)) 
(Rec xs f) <: (Rec ([] *) f) 

type :~: r1 r2 = (r1 <: r2, r2 <: r1)Source

If two records types are subtypes of each other, that means that they differ only in order of fields.

(~=) :: (Eq a, a :~: b) => a -> b -> BoolSource

Term-level record congruence.

rIso :: r1 :~: r2 => Iso' r1 r2Source