Safe Haskell | None |
---|---|
Language | Haskell2010 |
Data.SOP.Tails
Description
Intended for qualified import
import Data.SOP.Tails (Tails(..)) import qualified Data.SOP.Tails as Tails
Synopsis
- data Tails (f ∷ k → k → Type) (xs ∷ [k]) where
- mk1 ∷ ∀ {k} (f ∷ k → k → Type) (x ∷ k). Tails f '[x]
- mk2 ∷ ∀ {k} f (x ∷ k) (y ∷ k). f x y → Tails f '[x, y]
- mk3 ∷ ∀ {k} f (x ∷ k) (y ∷ k) (z ∷ k). f x y → f x z → f y z → Tails f '[x, y, z]
- extendWithTails ∷ ∀ {k} (xs ∷ [k]) (x ∷ k) (y ∷ k) f. SListI xs ⇒ Index xs x → Index xs y → Tails (Fn2 f) xs → f x → Maybe (f y)
- hcmap ∷ ∀ {k} proxy c f g (xs ∷ [k]). All c xs ⇒ proxy c → (∀ (x ∷ k) (y ∷ k). (c x, c y) ⇒ f x y → g x y) → Tails f xs → Tails g xs
- hcpure ∷ ∀ {k} proxy f c (xs ∷ [k]). All c xs ⇒ proxy c → (∀ (x ∷ k) (y ∷ k). (c x, c y) ⇒ f x y) → Tails f xs
- hmap ∷ ∀ {k} (xs ∷ [k]) f g. SListI xs ⇒ (∀ (x ∷ k) (y ∷ k). f x y → g x y) → Tails f xs → Tails g xs
- hpure ∷ ∀ {k} (xs ∷ [k]) f. SListI xs ⇒ (∀ (x ∷ k) (y ∷ k). f x y) → Tails f xs
- inPairsToTails ∷ ∀ {k} (f ∷ k → Type) (xs ∷ [k]). All (Top ∷ k → Constraint) xs ⇒ InPairs (Fn2 f) xs → Tails (Fn2 f) xs
Documentation
data Tails (f ∷ k → k → Type) (xs ∷ [k]) where Source #
For every tail (x ': xs)
of the list, an f x y
for every y
in xs
Convenience constructors
SOP-like operators
extendWithTails ∷ ∀ {k} (xs ∷ [k]) (x ∷ k) (y ∷ k) f. SListI xs ⇒ Index xs x → Index xs y → Tails (Fn2 f) xs → f x → Maybe (f y) Source #
hcmap ∷ ∀ {k} proxy c f g (xs ∷ [k]). All c xs ⇒ proxy c → (∀ (x ∷ k) (y ∷ k). (c x, c y) ⇒ f x y → g x y) → Tails f xs → Tails g xs Source #
hcpure ∷ ∀ {k} proxy f c (xs ∷ [k]). All c xs ⇒ proxy c → (∀ (x ∷ k) (y ∷ k). (c x, c y) ⇒ f x y) → Tails f xs Source #