Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Intended for qualified import
import Data.SOP.InPairs (InPairs(..)) import qualified Data.SOP.InPairs as InPairs
Synopsis
- data InPairs f xs where
- mk1 ∷ InPairs f '[x]
- mk2 ∷ f x y → InPairs f '[x, y]
- mk3 ∷ f x y → f y z → InPairs f '[x, y, z]
- hcmap ∷ ∀ proxy c f g xs. All c xs ⇒ proxy c → (∀ x y. (c x, c y) ⇒ f x y → g x y) → InPairs f xs → InPairs g xs
- hcpure ∷ ∀ proxy c xs f. (All c xs, IsNonEmpty xs) ⇒ proxy c → (∀ x y. (c x, c y) ⇒ f x y) → InPairs f xs
- hczipWith ∷ ∀ proxy c f f' f'' xs. All c xs ⇒ proxy c → (∀ x y. (c x, c y) ⇒ f x y → f' x y → f'' x y) → InPairs f xs → InPairs f' xs → InPairs f'' xs
- hmap ∷ SListI xs ⇒ (∀ x y. f x y → g x y) → InPairs f xs → InPairs g xs
- hpure ∷ (SListI xs, IsNonEmpty xs) ⇒ (∀ x y. f x y) → InPairs f xs
- newtype Requiring h f x y = Require {
- provide ∷ h x → f x y
- newtype RequiringBoth h f x y = RequireBoth {
- provideBoth ∷ h x → h y → f x y
- ignoring ∷ f x y → Requiring h f x y
- ignoringBoth ∷ f x y → RequiringBoth h f x y
- requiring ∷ SListI xs ⇒ NP h xs → InPairs (Requiring h f) xs → InPairs f xs
- requiringBoth ∷ NP h xs → InPairs (RequiringBoth h f) xs → InPairs f xs
InPairs
Convenience constructors
SOP-like operators
hcmap ∷ ∀ proxy c f g xs. All c xs ⇒ proxy c → (∀ x y. (c x, c y) ⇒ f x y → g x y) → InPairs f xs → InPairs g xs Source #
hcpure ∷ ∀ proxy c xs f. (All c xs, IsNonEmpty xs) ⇒ proxy c → (∀ x y. (c x, c y) ⇒ f x y) → InPairs f xs Source #
hczipWith ∷ ∀ proxy c f f' f'' xs. All c xs ⇒ proxy c → (∀ x y. (c x, c y) ⇒ f x y → f' x y → f'' x y) → InPairs f xs → InPairs f' xs → InPairs f'' xs Source #
Requiring
newtype RequiringBoth h f x y Source #
RequireBoth | |
|
ignoringBoth ∷ f x y → RequiringBoth h f x y Source #
requiringBoth ∷ NP h xs → InPairs (RequiringBoth h f) xs → InPairs f xs Source #