vinyl-plus-0.1.1: Vinyl records utilities

Safe HaskellNone
LanguageHaskell2010

Data.Vinyl.Plus.TypeLevel

Synopsis

Documentation

type family Head rs :: k Source

Equations

Head (r : rs) = r 

type family ListAll rs c :: Constraint Source

Equations

ListAll `[]` c = () 
ListAll (a : as) c = (c a, ListAll as c) 

type family Lookup r rs :: v Source

A partial relation that gives the index of a value in a list.

Equations

Lookup k (`(k, v)` : rs) = v 
Lookup k (`(j, v)` : rs) = Lookup k rs 

type family TIndex r rs :: Nat Source

A partial relation that gives the index of a value in a list.

Equations

TIndex r (`(r, x)` : rs) = Z 
TIndex r (`(s, x)` : rs) = S (TIndex r rs)