Hoogle Search

Within LTS Haskell 24.51 (ghc-9.10.3)

Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.

  1. type family (r :: Row k) .\ (l :: Symbol)

    row-types Data.Row.Internal

    Does the row lack (i.e. it does not have) the specified label?

  2. type family (l :: Row k) .\/ (r :: Row k) :: Row k

    row-types Data.Row.Internal

    The minimum join of the two rows.

  3. type family (l :: Row k) .\\ (r :: Row k) :: Row k

    row-types Data.Row.Internal

    Type level Row difference. That is, l .\\ r is the row remaining after removing any matching elements of r from l.

  4. type family (r :: Row k) .! (t :: Symbol) :: k

    row-types Data.Row.Records

    Type level label fetching

  5. (.!) :: forall (l :: Symbol) (r :: Row Type) . KnownSymbol l => Rec r -> Label l -> r .! l

    row-types Data.Row.Records

    Record selection

  6. (.$) :: forall (l :: Symbol) (r' :: Row Type) t (r :: Row Type) x . (KnownSymbol l, (r' .! l) ≈ t) => (Rec ((l .== t) .+ r) -> x) -> (Label l, Rec r') -> Rec r -> x

    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 like
    greeting = #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!"
    

  7. type family (l :: Row k) .+ (r :: Row k) :: Row k

    row-types Data.Row.Records

    Type level Row append

  8. (.+) :: 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)

  9. type family (r :: Row k) .- (s :: Symbol) :: Row k

    row-types Data.Row.Records

    Type level Row element removal

  10. (.-) :: 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.

Page 42 of many | Previous | Next