Module
Data.Record
- Package
- purescript-record
- Repository
- purescript/purescript-record
#set Source
set :: forall b a l r r2 r1. IsSymbol l => RowCons l a r r1 => RowCons l b r r2 => SProxy l -> b -> Record r1 -> Record r2
Set a property for a label which is specified using a value-level proxy for a type-level string.
For example:
set (SProxy :: SProxy "x")
:: forall r a b. a -> { x :: b | r } -> { x :: a | r }
#modify Source
modify :: forall b a l r r2 r1. IsSymbol l => RowCons l a r r1 => RowCons l b r r2 => SProxy l -> (a -> b) -> Record r1 -> Record r2
Modify a property for a label which is specified using a value-level proxy for a type-level string.
For example:
modify (SProxy :: SProxy "x")
:: forall r a b. (a -> b) -> { x :: a | r } -> { x :: b | r }
#insert Source
insert :: forall a l r2 r1. IsSymbol l => RowLacks l r1 => RowCons l a r1 r2 => SProxy l -> a -> Record r1 -> Record r2
Insert a new property for a label which is specified using a value-level proxy for a type-level string.
For example:
insert (SProxy :: SProxy "x")
:: forall r a. a -> { | r } -> { x :: a | r }
#delete Source
delete :: forall a l r2 r1. IsSymbol l => RowLacks l r1 => RowCons l a r1 r2 => SProxy l -> Record r2 -> Record r1
Delete a property for a label which is specified using a value-level proxy for a type-level string.
Note that the type of the resulting row must lack the specified property. Since duplicate labels are allowed, this is checked with a type class constraint.
For example:
delete (SProxy :: SProxy "x")
:: forall r a. RowLacks "x" r => { x :: a | r } -> { | r }
- Modules
- Data.
Record