vinyl-0.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, <: (Rec xs f) (Rec ys f)) => (Rec xs f) <: (Rec (: * y ys) f) 
(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.