Module
Typisch.Row
- Package
- purescript-typisch
- Repository
- garganscript/purescript-typisch
#Cons Source
class Cons :: Symbol -> Type -> Row Type -> Row Type -> Constraint
class (Lacks label tail, Cons label a tail row) <= Cons (label :: Symbol) (a :: Type) (tail :: Row Type) (row :: Row Type) | label a tail -> row, label row -> a tail
A version of Prim.Row.Cons
that infers Data.Symbol.IsSymbol
and Prim.Row.Lacks
for you to ease record modification.
Instances
#Cons2 Source
class Cons2 :: Symbol -> Type -> Symbol -> Type -> Row Type -> Row Type -> Row Type -> Constraint
class (Lacks labelB base, Cons labelA a base rowA, Cons labelB b rowA rowAB) <= Cons2 (labelA :: Symbol) (a :: Type) (labelB :: Symbol) (b :: Type) (base :: Row Type) (rowA :: Row Type) (rowAB :: Row Type) | labelA a base -> rowA, labelB b rowA -> rowAB, labelB b rowAB -> rowA, labelA a rowA -> base
Cons
, but for two items.
Instances
#Cons3 Source
class Cons3 :: Symbol -> Type -> Symbol -> Type -> Symbol -> Type -> Row Type -> Row Type -> Row Type -> Row Type -> Constraint
class (Lacks labelB base, Lacks labelC base, Cons labelA a base rowA, Cons labelB b rowA rowAB, Cons labelC c rowAB rowABC) <= Cons3 (labelA :: Symbol) (a :: Type) (labelB :: Symbol) (b :: Type) (labelC :: Symbol) (c :: Type) (base :: Row Type) (rowA :: Row Type) (rowAB :: Row Type) (rowABC :: Row Type) | labelA a base -> rowA, labelB b rowA -> rowAB, labelC c rowAB -> rowABC, labelC c rowABC -> rowAB, labelB b rowAB -> rowA, labelA a rowA -> base
Cons
, but for threeitems.
Instances
#Changes Source
class Changes :: Symbol -> Type -> Type -> Row Type -> Row Type -> Row Type -> Constraint
class (Cons label a tail rowA, Cons label b tail rowB) <= Changes (label :: Symbol) (a :: Type) (b :: Type) (tail :: Row Type) (rowA :: Row Type) (rowB :: Row Type) | label a tail -> rowA, label b tail -> rowB, label rowA -> a tail, label rowB -> b tail
A class that represents changing the type of a label in a row.
Instances
#Replaces Source
class Replaces :: Symbol -> Type -> Symbol -> Type -> Row Type -> Row Type -> Row Type -> Constraint
class (Cons labelA a tail rowA, Cons labelB b tail rowB) <= Replaces (labelA :: Symbol) (a :: Type) (labelB :: Symbol) (b :: Type) (tail :: Row Type) (rowA :: Row Type) (rowB :: Row Type) | labelA a tail -> rowA, labelB b tail -> rowB, labelA rowA -> a tail, labelB rowB -> b tail
A class that represents replacing a row entry with another one.
Instances
Re-exports from Prim.Row
#Nub
#Union
- Modules
- Typisch.
Row