Hoogle Search
Within LTS Haskell 24.6 (ghc-9.10.2)
Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.
-
row-types Data.Row.Records This function allows one to do partial application on a function of a record. Note that this also means that arguments can be supplied in arbitrary order. For instance, if one had a function like
xtheny r = (r .! #x) <> (r .! #y)
and a record likegreeting = #x .== "hello " .+ #y .== "world!"
Then all of the following would be possible:>>> xtheny greeting "hello world!"
>>> xtheny .$ (#x, greeting) .$ (#y, greeting) $ empty "hello world!"
>>> xtheny .$ (#y, greeting) .$ (#x, greeting) $ empty "hello world!"
>>> xtheny .$ (#y, greeting) .$ (#x, #x .== "Goodbye ") $ empty "Goodbye world!"
type family (l :: Row k)
.+ (r :: Row k) :: Row krow-types Data.Row.Records Type level Row append
(
.+ ) :: forall (l :: Row Type) (r :: Row Type) . FreeForall l => Rec l -> Rec r -> Rec (l .+ r)row-types Data.Row.Records Record disjoint union (commutative)
type family (r :: Row k)
.- (s :: Symbol) :: Row krow-types Data.Row.Records Type level Row element removal
(
.- ) :: forall (l :: Symbol) (r :: Row Type) . KnownSymbol l => Rec r -> Label l -> Rec (r .- l)row-types Data.Row.Records Record restriction. Remove the label l from the record.
type family (l :: Row k)
.// (r :: Row k) :: Row krow-types Data.Row.Records The overwriting union, where the left row overwrites the types of the right row where the labels overlap.
(
.// ) :: forall (r :: Row Type) (r' :: Row Type) . Rec r -> Rec r' -> Rec (r .// r')row-types Data.Row.Records Record overwrite. The operation r .// r' creates a new record such that:
- Any label that is in both r and r' is in the resulting record with the type and value given by the fields in r,
- Any label that is only found in r is in the resulting record.
- Any label that is only found in r' is in the resulting record.
(
.== ) :: forall (l :: Symbol) a . KnownSymbol l => Label l -> a -> Rec (l .== a)row-types Data.Row.Records The singleton record
type family (r :: Row k)
.\ (l :: Symbol)row-types Data.Row.Records Does the row lack (i.e. it does not have) the specified label?
type family (r :: Row k)
.! (t :: Symbol) :: krow-types Data.Row.Variants Type level label fetching