Module

Type.RowList

#ListToRow

class ListToRow list row | list -> row

Instances

#RowListRemove

class RowListRemove label input output | label input -> output

Instances

#RowListSet

class RowListSet label typ input output | label typ input -> output

Instances

#RowListNub

class RowListNub input output | input -> output

Instances

#RowListAppend

class RowListAppend lhs rhs out | lhs rhs -> out

Instances

Re-exports from Prim.RowList

#RowList

data RowList :: Type -> Type

A type level list representation of a row of types.

#Nil

data Nil :: forall (k :: Type). RowList k

The empty RowList.

#Cons

data Cons :: forall (k :: Type). Symbol -> k -> RowList k -> RowList k

Constructs a new RowList from a label, a type, and an existing tail RowList. E.g: Cons "x" Int (Cons "y" Int Nil).

#RowToList

class RowToList (row :: Row k) (list :: RowList k) | row -> list

Compiler solved type class for generating a RowList from a closed row of types. Entries are sorted by label and duplicates are preserved in the order they appeared in the row.

Re-exports from Type.Data.RowList

#RLProxy

data RLProxy rowlist

Constructors

Modules