ouroboros-consensus-0.1.0.0: Consensus layer for the Ouroboros blockchain protocol
Safe HaskellNone
LanguageHaskell2010

Data.SOP.Strict

Description

Strict variant of SOP

This does not currently attempt to be exhaustive.

Synopsis
  • data NP ∷ (k → Type) → [k] → Type where
    • NilNP f '[]
    • (:*) ∷ !(f x) → !(NP f xs) → NP f (x ': xs)
  • hdNP f (x ': xs) → f x
  • singletonNP ∷ f x → NP f '[x]
  • tlNP f (x ': xs) → NP f xs
  • data NS ∷ (k → Type) → [k] → Type where
    • Z ∷ !(f x) → NS f (x ': xs)
    • S ∷ !(NS f xs) → NS f (x ': xs)
  • index_NS ∷ ∀ f xs. NS f xs → Int
  • unZNS f '[x] → f x
  • type Injection (f ∷ k → Type) (xs ∷ [k]) = f -.-> K (NS f xs)
  • injections ∷ ∀ xs f. SListI xs ⇒ NP (Injection f xs) xs
  • data Proxy (t ∷ k) = Proxy
  • mapII ∷ (a → b) → I a → I b
  • mapIII ∷ (a → b → c) → I a → I b → I c
  • mapIIK ∷ ∀ k a b c (d ∷ k). (a → b → c) → I a → I b → K c d
  • mapIK ∷ ∀ k a b (c ∷ k). (a → b) → I a → K b c
  • mapIKI ∷ ∀ k a b c (d ∷ k). (a → b → c) → I a → K b d → I c
  • mapIKK ∷ ∀ k1 k2 a b c (d ∷ k1) (e ∷ k2). (a → b → c) → I a → K b d → K c e
  • mapKI ∷ ∀ k a b (c ∷ k). (a → b) → K a c → I b
  • mapKII ∷ ∀ k a b c (d ∷ k). (a → b → c) → K a d → I b → I c
  • mapKIK ∷ ∀ k1 k2 a b c (d ∷ k1) (e ∷ k2). (a → b → c) → K a d → I b → K c e
  • mapKK ∷ ∀ k1 k2 a b (c ∷ k1) (d ∷ k2). (a → b) → K a c → K b d
  • mapKKI ∷ ∀ k1 k2 a b c (d ∷ k1) (e ∷ k2). (a → b → c) → K a d → K b e → I c
  • mapKKK ∷ ∀ k1 k2 k3 a b c (d ∷ k1) (e ∷ k2) (f ∷ k3). (a → b → c) → K a d → K b e → K c f
  • unComp ∷ ∀ l k f (g ∷ k → l) (p ∷ k). (f :.: g) p → f (g p)
  • unII a → a
  • unK ∷ ∀ k a (b ∷ k). K a b → a
  • fn ∷ ∀ k f (a ∷ k) f'. (f a → f' a) → (f -.-> f') a
  • fn_2 ∷ ∀ k f (a ∷ k) f' f''. (f a → f' a → f'' a) → (f -.-> (f' -.-> f'')) a
  • fn_3 ∷ ∀ k f (a ∷ k) f' f'' f'''. (f a → f' a → f'' a → f''' a) → (f -.-> (f' -.-> (f'' -.-> f'''))) a
  • fn_4 ∷ ∀ k f (a ∷ k) f' f'' f''' f''''. (f a → f' a → f'' a → f''' a → f'''' a) → (f -.-> (f' -.-> (f'' -.-> (f''' -.-> f'''')))) a
  • hcfoldMap ∷ ∀ k l h c (xs ∷ l) m proxy f. (HTraverse_ h, AllN h c xs, Monoid m) ⇒ proxy c → (∀ (a ∷ k). c a ⇒ f a → m) → h f xs → m
  • hcfor ∷ ∀ l h c (xs ∷ l) g proxy f. (HSequence h, AllN h c xs, Applicative g) ⇒ proxy c → h f xs → (∀ a. c a ⇒ f a → g a) → g (h I xs)
  • hcfor_ ∷ ∀ k l h c (xs ∷ l) g proxy f. (HTraverse_ h, AllN h c xs, Applicative g) ⇒ proxy c → h f xs → (∀ (a ∷ k). c a ⇒ f a → g ()) → g ()
  • hcliftA ∷ ∀ k l h c (xs ∷ l) proxy f f'. (AllN (Prod h) c xs, HAp h) ⇒ proxy c → (∀ (a ∷ k). c a ⇒ f a → f' a) → h f xs → h f' xs
  • hcliftA2 ∷ ∀ k l h c (xs ∷ l) proxy f f' f''. (AllN (Prod h) c xs, HAp h, HAp (Prod h)) ⇒ proxy c → (∀ (a ∷ k). c a ⇒ f a → f' a → f'' a) → Prod h f xs → h f' xs → h f'' xs
  • hcliftA3 ∷ ∀ k l h c (xs ∷ l) proxy f f' f'' f'''. (AllN (Prod h) c xs, HAp h, HAp (Prod h)) ⇒ proxy c → (∀ (a ∷ k). c a ⇒ f a → f' a → f'' a → f''' a) → Prod h f xs → Prod h f' xs → h f'' xs → h f''' xs
  • hcmap ∷ ∀ k l h c (xs ∷ l) proxy f f'. (AllN (Prod h) c xs, HAp h) ⇒ proxy c → (∀ (a ∷ k). c a ⇒ f a → f' a) → h f xs → h f' xs
  • hctraverse ∷ ∀ l h c (xs ∷ l) g proxy f. (HSequence h, AllN h c xs, Applicative g) ⇒ proxy c → (∀ a. c a ⇒ f a → g a) → h f xs → g (h I xs)
  • hczipWith ∷ ∀ k l h c (xs ∷ l) proxy f f' f''. (AllN (Prod h) c xs, HAp h, HAp (Prod h)) ⇒ proxy c → (∀ (a ∷ k). c a ⇒ f a → f' a → f'' a) → Prod h f xs → h f' xs → h f'' xs
  • hczipWith3 ∷ ∀ k l h c (xs ∷ l) proxy f f' f'' f'''. (AllN (Prod h) c xs, HAp h, HAp (Prod h)) ⇒ proxy c → (∀ (a ∷ k). c a ⇒ f a → f' a → f'' a → f''' a) → Prod h f xs → Prod h f' xs → h f'' xs → h f''' xs
  • hfromI ∷ ∀ l1 k2 l2 h1 (f ∷ k2 → Type) (xs ∷ l1) (ys ∷ l2) h2. (AllZipN (Prod h1) (LiftedCoercible I f) xs ys, HTrans h1 h2) ⇒ h1 I xs → h2 f ys
  • hliftA ∷ ∀ k l h (xs ∷ l) f f'. (SListIN (Prod h) xs, HAp h) ⇒ (∀ (a ∷ k). f a → f' a) → h f xs → h f' xs
  • hliftA2 ∷ ∀ k l h (xs ∷ l) f f' f''. (SListIN (Prod h) xs, HAp h, HAp (Prod h)) ⇒ (∀ (a ∷ k). f a → f' a → f'' a) → Prod h f xs → h f' xs → h f'' xs
  • hliftA3 ∷ ∀ k l h (xs ∷ l) f f' f'' f'''. (SListIN (Prod h) xs, HAp h, HAp (Prod h)) ⇒ (∀ (a ∷ k). f a → f' a → f'' a → f''' a) → Prod h f xs → Prod h f' xs → h f'' xs → h f''' xs
  • hmap ∷ ∀ k l h (xs ∷ l) f f'. (SListIN (Prod h) xs, HAp h) ⇒ (∀ (a ∷ k). f a → f' a) → h f xs → h f' xs
  • hsequence ∷ ∀ l h (xs ∷ l) f. (SListIN h xs, SListIN (Prod h) xs, HSequence h, Applicative f) ⇒ h f xs → f (h I xs)
  • hsequenceK ∷ ∀ k l h (xs ∷ l) f a. (SListIN h xs, SListIN (Prod h) xs, Applicative f, HSequence h) ⇒ h (K (f a) ∷ k → Type) xs → f (h (K a ∷ k → Type) xs)
  • htoI ∷ ∀ k1 l1 l2 h1 (f ∷ k1 → Type) (xs ∷ l1) (ys ∷ l2) h2. (AllZipN (Prod h1) (LiftedCoercible f I) xs ys, HTrans h1 h2) ⇒ h1 f xs → h2 I ys
  • hzipWith ∷ ∀ k l h (xs ∷ l) f f' f''. (SListIN (Prod h) xs, HAp h, HAp (Prod h)) ⇒ (∀ (a ∷ k). f a → f' a → f'' a) → Prod h f xs → h f' xs → h f'' xs
  • hzipWith3 ∷ ∀ k l h (xs ∷ l) f f' f'' f'''. (SListIN (Prod h) xs, HAp h, HAp (Prod h)) ⇒ (∀ (a ∷ k). f a → f' a → f'' a → f''' a) → Prod h f xs → Prod h f' xs → h f'' xs → h f''' xs
  • ccase_SList ∷ ∀ k c (xs ∷ [k]) proxy r. All c xs ⇒ proxy c → r ('[] ∷ [k]) → (∀ (y ∷ k) (ys ∷ [k]). (c y, All c ys) ⇒ r (y ': ys)) → r xs
  • fromList ∷ ∀ k (xs ∷ [k]) a. SListI xs ⇒ [a] → Maybe (NP (K a ∷ k → Type) xs)
  • hcliftA' ∷ ∀ k (c ∷ k → Constraint) (xss ∷ [[k]]) h proxy f f'. (All2 c xss, Prod h ~ (NP ∷ ([k] → Type) → [[k]] → Type), HAp h) ⇒ proxy c → (∀ (xs ∷ [k]). All c xs ⇒ f xs → f' xs) → h f xss → h f' xss
  • hcliftA2' ∷ ∀ k (c ∷ k → Constraint) (xss ∷ [[k]]) h proxy f f' f''. (All2 c xss, Prod h ~ (NP ∷ ([k] → Type) → [[k]] → Type), HAp h) ⇒ proxy c → (∀ (xs ∷ [k]). All c xs ⇒ f xs → f' xs → f'' xs) → Prod h f xss → h f' xss → h f'' xss
  • hcliftA3' ∷ ∀ k (c ∷ k → Constraint) (xss ∷ [[k]]) h proxy f f' f'' f'''. (All2 c xss, Prod h ~ (NP ∷ ([k] → Type) → [[k]] → Type), HAp h) ⇒ proxy c → (∀ (xs ∷ [k]). All c xs ⇒ f xs → f' xs → f'' xs → f''' xs) → Prod h f xss → Prod h f' xss → h f'' xss → h f''' xss
  • projections ∷ ∀ k (xs ∷ [k]) (f ∷ k → Type). SListI xs ⇒ NP (Projection f xs) xs
  • shiftProjection ∷ ∀ a1 (f ∷ a1 → Type) (xs ∷ [a1]) (a2 ∷ a1) (x ∷ a1). Projection f xs a2 → Projection f (x ': xs) a2
  • unPOP ∷ ∀ k (f ∷ k → Type) (xss ∷ [[k]]). POP f xss → NP (NP f) xss
  • apInjs_NP ∷ ∀ k (xs ∷ [k]) (f ∷ k → Type). SListI xs ⇒ NP f xs → [NS f xs]
  • apInjs_POP ∷ ∀ k (xss ∷ [[k]]) (f ∷ k → Type). SListI xss ⇒ POP f xss → [SOP f xss]
  • ccompare_NS ∷ ∀ k c proxy r f g (xs ∷ [k]). All c xs ⇒ proxy c → r → (∀ (x ∷ k). c x ⇒ f x → g x → r) → r → NS f xs → NS g xs → r
  • ccompare_SOP ∷ ∀ k (c ∷ k → Constraint) proxy r (f ∷ k → Type) (g ∷ k → Type) (xss ∷ [[k]]). All2 c xss ⇒ proxy c → r → (∀ (xs ∷ [k]). All c xs ⇒ NP f xs → NP g xs → r) → r → SOP f xss → SOP g xss → r
  • compare_NS ∷ ∀ k r f g (xs ∷ [k]). r → (∀ (x ∷ k). f x → g x → r) → r → NS f xs → NS g xs → r
  • compare_SOP ∷ ∀ k r (f ∷ k → Type) (g ∷ k → Type) (xss ∷ [[k]]). r → (∀ (xs ∷ [k]). NP f xs → NP g xs → r) → r → SOP f xss → SOP g xss → r
  • shift ∷ ∀ a1 (f ∷ a1 → Type) (xs ∷ [a1]) (a2 ∷ a1) (x ∷ a1). Injection f xs a2 → Injection f (x ': xs) a2
  • unSOP ∷ ∀ k (f ∷ k → Type) (xss ∷ [[k]]). SOP f xss → NS (NP f) xss
  • case_SList ∷ ∀ k (xs ∷ [k]) r. SListI xs ⇒ r ('[] ∷ [k]) → (∀ (y ∷ k) (ys ∷ [k]). SListI ys ⇒ r (y ': ys)) → r xs
  • lengthSList ∷ ∀ k (xs ∷ [k]) proxy. SListI xs ⇒ proxy xs → Int
  • para_SList ∷ ∀ k (xs ∷ [k]) r. SListI xs ⇒ r ('[] ∷ [k]) → (∀ (y ∷ k) (ys ∷ [k]). SListI ys ⇒ r ys → r (y ': ys)) → r xs
  • sList ∷ ∀ k (xs ∷ [k]). SListI xs ⇒ SList xs
  • shape ∷ ∀ k (xs ∷ [k]). SListI xs ⇒ Shape xs
  • newtype ((f ∷ l → Type) :.: (g ∷ k → l)) (p ∷ k) = Comp (f (g p))
  • newtype I a = I a
  • newtype K a (b ∷ k) = K a
  • newtype ((f ∷ k → Type) -.-> (g ∷ k → Type)) (a ∷ k) = Fn {
    • apFn ∷ f a → g a
    }
  • type family CollapseTo (h ∷ (k → Type) → l → Type) x
  • class (Prod (Prod h) ~ Prod h, HPure (Prod h)) ⇒ HAp (h ∷ (k → Type) → l → Type) where
    • hap ∷ ∀ (f ∷ k → Type) (g ∷ k → Type) (xs ∷ l). Prod h (f -.-> g) xs → h f xs → h g xs
  • class UnProd (Prod h) ~ h ⇒ HApInjs (h ∷ (k → Type) → l → Type) where
    • hapInjs ∷ ∀ (xs ∷ l) (f ∷ k → Type). SListIN h xs ⇒ Prod h f xs → [h f xs]
  • class HCollapse (h ∷ (k → Type) → l → Type) where
  • class HExpand (h ∷ (k → Type) → l → Type) where
    • hexpand ∷ ∀ (xs ∷ l) f. SListIN (Prod h) xs ⇒ (∀ (x ∷ k). f x) → h f xs → Prod h f xs
    • hcexpand ∷ ∀ c (xs ∷ l) proxy f. AllN (Prod h) c xs ⇒ proxy c → (∀ (x ∷ k). c x ⇒ f x) → h f xs → Prod h f xs
  • class HIndex (h ∷ (k → Type) → l → Type) where
  • class HPure (h ∷ (k → Type) → l → Type) where
    • hpure ∷ ∀ (xs ∷ l) f. SListIN h xs ⇒ (∀ (a ∷ k). f a) → h f xs
    • hcpure ∷ ∀ c (xs ∷ l) proxy f. AllN h c xs ⇒ proxy c → (∀ (a ∷ k). c a ⇒ f a) → h f xs
  • class HAp h ⇒ HSequence (h ∷ (k → Type) → l → Type) where
    • hsequence' ∷ ∀ (xs ∷ l) f (g ∷ k → Type). (SListIN h xs, Applicative f) ⇒ h (f :.: g) xs → f (h g xs)
    • hctraverse' ∷ ∀ c (xs ∷ l) g proxy f f'. (AllN h c xs, Applicative g) ⇒ proxy c → (∀ (a ∷ k). c a ⇒ f a → g (f' a)) → h f xs → g (h f' xs)
    • htraverse' ∷ ∀ (xs ∷ l) g f f'. (SListIN h xs, Applicative g) ⇒ (∀ (a ∷ k). f a → g (f' a)) → h f xs → g (h f' xs)
  • class ((Same h1 ∷ (k2 → Type) → l2 → Type) ~ h2, (Same h2 ∷ (k1 → Type) → l1 → Type) ~ h1) ⇒ HTrans (h1 ∷ (k1 → Type) → l1 → Type) (h2 ∷ (k2 → Type) → l2 → Type) where
    • htrans ∷ ∀ c (xs ∷ l1) (ys ∷ l2) proxy f g. AllZipN (Prod h1) c xs ys ⇒ proxy c → (∀ (x ∷ k1) (y ∷ k2). c x y ⇒ f x → g y) → h1 f xs → h2 g ys
    • hcoerce ∷ ∀ (f ∷ k1 → Type) (g ∷ k2 → Type) (xs ∷ l1) (ys ∷ l2). AllZipN (Prod h1) (LiftedCoercible f g) xs ys ⇒ h1 f xs → h2 g ys
  • class HTraverse_ (h ∷ (k → Type) → l → Type) where
    • hctraverse_ ∷ ∀ c (xs ∷ l) g proxy f. (AllN h c xs, Applicative g) ⇒ proxy c → (∀ (a ∷ k). c a ⇒ f a → g ()) → h f xs → g ()
    • htraverse_ ∷ ∀ (xs ∷ l) g f. (SListIN h xs, Applicative g) ⇒ (∀ (a ∷ k). f a → g ()) → h f xs → g ()
  • type family Prod (h ∷ (k → Type) → l → Type) ∷ (k → Type) → l → Type
  • type family UnProd (h ∷ (k → Type) → l → Type) ∷ (k → Type) → l → Type
  • class (AllF c xs, SListI xs) ⇒ All (c ∷ k → Constraint) (xs ∷ [k]) where
    • cpara_SList ∷ proxy c → r ('[] ∷ [k]) → (∀ (y ∷ k) (ys ∷ [k]). (c y, All c ys) ⇒ r ys → r (y ': ys)) → r xs
  • type All2 (c ∷ k → Constraint) = All (All c)
  • type family AllN (h ∷ (k → Type) → l → Type) (c ∷ k → Constraint) ∷ l → Constraint
  • class (SListI xs, SListI ys, SameShapeAs xs ys, SameShapeAs ys xs, AllZipF c xs ys) ⇒ AllZip (c ∷ a → b → Constraint) (xs ∷ [a]) (ys ∷ [b])
  • class (AllZipF (AllZip f) xss yss, SListI xss, SListI yss, SameShapeAs xss yss, SameShapeAs yss xss) ⇒ AllZip2 (f ∷ a → b → Constraint) (xss ∷ [[a]]) (yss ∷ [[b]])
  • type family AllZipN (h ∷ (k → Type) → l → Type) (c ∷ k1 → k2 → Constraint) ∷ l1 → l2 → Constraint
  • class (f x, g x) ⇒ And (f ∷ k → Constraint) (g ∷ k → Constraint) (x ∷ k)
  • class f (g x) ⇒ Compose (f ∷ k → Constraint) (g ∷ k1 → k) (x ∷ k1)
  • class Coercible (f x) (g y) ⇒ LiftedCoercible (f ∷ k → k1) (g ∷ k2 → k1) (x ∷ k) (y ∷ k2)
  • type SListI = All (Top ∷ k → Constraint)
  • type SListI2 = All (SListI ∷ [k] → Constraint)
  • type family SameShapeAs (xs ∷ [a]) (ys ∷ [b]) where ...
  • class Top (x ∷ k)
  • newtype POP (f ∷ k → Type) (xss ∷ [[k]]) = POP (NP (NP f) xss)
  • type Projection (f ∷ k → Type) (xs ∷ [k]) = (K (NP f xs) ∷ k → Type) -.-> f
  • newtype SOP (f ∷ k → Type) (xss ∷ [[k]]) = SOP (NS (NP f) xss)
  • data SList (a ∷ [k]) where
  • data Shape (a ∷ [k]) where

NP

data NP ∷ (k → Type) → [k] → Type where Source #

Constructors

NilNP f '[] 
(:*) ∷ !(f x) → !(NP f xs) → NP f (x ': xs) infixr 5 

Instances

Instances details
HTrans (NP ∷ (k1 → Type) → [k1] → Type) (NP ∷ (k2 → Type) → [k2] → Type) Source # 
Instance details

Defined in Data.SOP.Strict

Methods

htrans ∷ ∀ c (xs ∷ l1) (ys ∷ l2) proxy f g. AllZipN (Prod NP) c xs ys ⇒ proxy c → (∀ (x ∷ k10) (y ∷ k20). c x y ⇒ f x → g y) → NP f xs → NP g ys #

hcoerce ∷ ∀ (f ∷ k10 → Type) (g ∷ k20 → Type) (xs ∷ l1) (ys ∷ l2). AllZipN (Prod NP) (LiftedCoercible f g) xs ys ⇒ NP f xs → NP g ys #

HAp (NP ∷ (k → Type) → [k] → Type) Source # 
Instance details

Defined in Data.SOP.Strict

Methods

hap ∷ ∀ (f ∷ k0 → Type) (g ∷ k0 → Type) (xs ∷ l). Prod NP (f -.-> g) xs → NP f xs → NP g xs #

HCollapse (NP ∷ (k → Type) → [k] → Type) Source # 
Instance details

Defined in Data.SOP.Strict

Methods

hcollapse ∷ ∀ (xs ∷ l) a. SListIN NP xs ⇒ NP (K a) xs → CollapseTo NP a #

HPure (NP ∷ (k → Type) → [k] → Type) Source # 
Instance details

Defined in Data.SOP.Strict

Methods

hpure ∷ ∀ (xs ∷ l) f. SListIN NP xs ⇒ (∀ (a ∷ k0). f a) → NP f xs #

hcpure ∷ ∀ c (xs ∷ l) proxy f. AllN NP c xs ⇒ proxy c → (∀ (a ∷ k0). c a ⇒ f a) → NP f xs #

HSequence (NP ∷ (k → Type) → [k] → Type) Source # 
Instance details

Defined in Data.SOP.Strict

Methods

hsequence' ∷ ∀ (xs ∷ l) f (g ∷ k0 → Type). (SListIN NP xs, Applicative f) ⇒ NP (f :.: g) xs → f (NP g xs) #

hctraverse' ∷ ∀ c (xs ∷ l) g proxy f f'. (AllN NP c xs, Applicative g) ⇒ proxy c → (∀ (a ∷ k0). c a ⇒ f a → g (f' a)) → NP f xs → g (NP f' xs) #

htraverse' ∷ ∀ (xs ∷ l) g f f'. (SListIN NP xs, Applicative g) ⇒ (∀ (a ∷ k0). f a → g (f' a)) → NP f xs → g (NP f' xs) #

HTraverse_ (NP ∷ (k → Type) → [k] → Type) Source # 
Instance details

Defined in Data.SOP.Strict

Methods

hctraverse_ ∷ ∀ c (xs ∷ l) g proxy f. (AllN NP c xs, Applicative g) ⇒ proxy c → (∀ (a ∷ k0). c a ⇒ f a → g ()) → NP f xs → g () #

htraverse_ ∷ ∀ (xs ∷ l) g f. (SListIN NP xs, Applicative g) ⇒ (∀ (a ∷ k0). f a → g ()) → NP f xs → g () #

All (Compose Eq f) xs ⇒ Eq (NP f xs) Source # 
Instance details

Defined in Data.SOP.Strict

Methods

(==)NP f xs → NP f xs → Bool Source #

(/=)NP f xs → NP f xs → Bool Source #

(All (Compose Eq f) xs, All (Compose Ord f) xs) ⇒ Ord (NP f xs) Source # 
Instance details

Defined in Data.SOP.Strict

Methods

compareNP f xs → NP f xs → Ordering Source #

(<)NP f xs → NP f xs → Bool Source #

(<=)NP f xs → NP f xs → Bool Source #

(>)NP f xs → NP f xs → Bool Source #

(>=)NP f xs → NP f xs → Bool Source #

maxNP f xs → NP f xs → NP f xs Source #

minNP f xs → NP f xs → NP f xs Source #

All (Compose Show f) xs ⇒ Show (NP f xs) Source #

Copied from sop-core

Not derived, since derived instance ignores associativity info

Instance details

Defined in Data.SOP.Strict

Methods

showsPrecIntNP f xs → ShowS Source #

showNP f xs → String Source #

showList ∷ [NP f xs] → ShowS Source #

All (Compose NoThunks f) xs ⇒ NoThunks (NP f xs) Source # 
Instance details

Defined in Data.SOP.Strict

Methods

noThunks ∷ Context → NP f xs → IO (Maybe ThunkInfo) #

wNoThunks ∷ Context → NP f xs → IO (Maybe ThunkInfo) #

showTypeOfProxy (NP f xs) → String #

type AllZipN (NP ∷ (k → Type) → [k] → Type) (c ∷ a → b → Constraint) Source # 
Instance details

Defined in Data.SOP.Strict

type AllZipN (NP ∷ (k → Type) → [k] → Type) (c ∷ a → b → Constraint) = AllZip c
type Same (NP ∷ (k1 → Type) → [k1] → Type) Source # 
Instance details

Defined in Data.SOP.Strict

type Same (NP ∷ (k1 → Type) → [k1] → Type) = NP ∷ (k2 → Type) → [k2] → Type
type Prod (NP ∷ (k → Type) → [k] → Type) Source # 
Instance details

Defined in Data.SOP.Strict

type Prod (NP ∷ (k → Type) → [k] → Type) = NP ∷ (k → Type) → [k] → Type
type SListIN (NP ∷ (k → Type) → [k] → Type) Source # 
Instance details

Defined in Data.SOP.Strict

type SListIN (NP ∷ (k → Type) → [k] → Type) = SListI ∷ [k] → Constraint
type CollapseTo (NP ∷ (k → Type) → [k] → Type) a Source # 
Instance details

Defined in Data.SOP.Strict

type CollapseTo (NP ∷ (k → Type) → [k] → Type) a = [a]
type AllN (NP ∷ (k → Type) → [k] → Type) (c ∷ k → Constraint) Source # 
Instance details

Defined in Data.SOP.Strict

type AllN (NP ∷ (k → Type) → [k] → Type) (c ∷ k → Constraint) = All c

hdNP f (x ': xs) → f x Source #

singletonNP ∷ f x → NP f '[x] Source #

tlNP f (x ': xs) → NP f xs Source #

NS

data NS ∷ (k → Type) → [k] → Type where Source #

Constructors

Z ∷ !(f x) → NS f (x ': xs) 
S ∷ !(NS f xs) → NS f (x ': xs) 

Instances

Instances details
HTrans (NS ∷ (k1 → Type) → [k1] → Type) (NS ∷ (k2 → Type) → [k2] → Type) Source # 
Instance details

Defined in Data.SOP.Strict

Methods

htrans ∷ ∀ c (xs ∷ l1) (ys ∷ l2) proxy f g. AllZipN (Prod NS) c xs ys ⇒ proxy c → (∀ (x ∷ k10) (y ∷ k20). c x y ⇒ f x → g y) → NS f xs → NS g ys #

hcoerce ∷ ∀ (f ∷ k10 → Type) (g ∷ k20 → Type) (xs ∷ l1) (ys ∷ l2). AllZipN (Prod NS) (LiftedCoercible f g) xs ys ⇒ NS f xs → NS g ys #

HAp (NS ∷ (k → Type) → [k] → Type) Source # 
Instance details

Defined in Data.SOP.Strict

Methods

hap ∷ ∀ (f ∷ k0 → Type) (g ∷ k0 → Type) (xs ∷ l). Prod NS (f -.-> g) xs → NS f xs → NS g xs #

HCollapse (NS ∷ (k → Type) → [k] → Type) Source # 
Instance details

Defined in Data.SOP.Strict

Methods

hcollapse ∷ ∀ (xs ∷ l) a. SListIN NS xs ⇒ NS (K a) xs → CollapseTo NS a #

HExpand (NS ∷ (k → Type) → [k] → Type) Source # 
Instance details

Defined in Data.SOP.Strict

Methods

hexpand ∷ ∀ (xs ∷ l) f. SListIN (Prod NS) xs ⇒ (∀ (x ∷ k0). f x) → NS f xs → Prod NS f xs #

hcexpand ∷ ∀ c (xs ∷ l) proxy f. AllN (Prod NS) c xs ⇒ proxy c → (∀ (x ∷ k0). c x ⇒ f x) → NS f xs → Prod NS f xs #

HSequence (NS ∷ (k → Type) → [k] → Type) Source # 
Instance details

Defined in Data.SOP.Strict

Methods

hsequence' ∷ ∀ (xs ∷ l) f (g ∷ k0 → Type). (SListIN NS xs, Applicative f) ⇒ NS (f :.: g) xs → f (NS g xs) #

hctraverse' ∷ ∀ c (xs ∷ l) g proxy f f'. (AllN NS c xs, Applicative g) ⇒ proxy c → (∀ (a ∷ k0). c a ⇒ f a → g (f' a)) → NS f xs → g (NS f' xs) #

htraverse' ∷ ∀ (xs ∷ l) g f f'. (SListIN NS xs, Applicative g) ⇒ (∀ (a ∷ k0). f a → g (f' a)) → NS f xs → g (NS f' xs) #

All (Compose Eq f) xs ⇒ Eq (NS f xs) Source # 
Instance details

Defined in Data.SOP.Strict

Methods

(==)NS f xs → NS f xs → Bool Source #

(/=)NS f xs → NS f xs → Bool Source #

(All (Compose Eq f) xs, All (Compose Ord f) xs) ⇒ Ord (NS f xs) Source # 
Instance details

Defined in Data.SOP.Strict

Methods

compareNS f xs → NS f xs → Ordering Source #

(<)NS f xs → NS f xs → Bool Source #

(<=)NS f xs → NS f xs → Bool Source #

(>)NS f xs → NS f xs → Bool Source #

(>=)NS f xs → NS f xs → Bool Source #

maxNS f xs → NS f xs → NS f xs Source #

minNS f xs → NS f xs → NS f xs Source #

All (Compose Show f) xs ⇒ Show (NS f xs) Source # 
Instance details

Defined in Data.SOP.Strict

Methods

showsPrecIntNS f xs → ShowS Source #

showNS f xs → String Source #

showList ∷ [NS f xs] → ShowS Source #

All (Compose NoThunks f) xs ⇒ NoThunks (NS f xs) Source # 
Instance details

Defined in Data.SOP.Strict

Methods

noThunks ∷ Context → NS f xs → IO (Maybe ThunkInfo) #

wNoThunks ∷ Context → NS f xs → IO (Maybe ThunkInfo) #

showTypeOfProxy (NS f xs) → String #

type Same (NS ∷ (k1 → Type) → [k1] → Type) Source # 
Instance details

Defined in Data.SOP.Strict

type Same (NS ∷ (k1 → Type) → [k1] → Type) = NS ∷ (k2 → Type) → [k2] → Type
type Prod (NS ∷ (k → Type) → [k] → Type) Source # 
Instance details

Defined in Data.SOP.Strict

type Prod (NS ∷ (k → Type) → [k] → Type) = NP ∷ (k → Type) → [k] → Type
type SListIN (NS ∷ (k → Type) → [k] → Type) Source # 
Instance details

Defined in Data.SOP.Strict

type SListIN (NS ∷ (k → Type) → [k] → Type) = SListI ∷ [k] → Constraint
type CollapseTo (NS ∷ (k → Type) → [k] → Type) a Source # 
Instance details

Defined in Data.SOP.Strict

type CollapseTo (NS ∷ (k → Type) → [k] → Type) a = a
type AllN (NS ∷ (k → Type) → [k] → Type) (c ∷ k → Constraint) Source # 
Instance details

Defined in Data.SOP.Strict

type AllN (NS ∷ (k → Type) → [k] → Type) (c ∷ k → Constraint) = All c

index_NS ∷ ∀ f xs. NS f xs → Int Source #

unZNS f '[x] → f x Source #

Injections

type Injection (f ∷ k → Type) (xs ∷ [k]) = f -.-> K (NS f xs) Source #

injections ∷ ∀ xs f. SListI xs ⇒ NP (Injection f xs) xs Source #

Re-exports from sop-core

data Proxy (t ∷ k) Source #

Proxy is a type that holds no data, but has a phantom parameter of arbitrary type (or even kind). Its use is to provide type information, even though there is no value available of that type (or it may be too costly to create one).

Historically, Proxy :: Proxy a is a safer alternative to the undefined :: a idiom.

>>> Proxy :: Proxy (Void, Int -> Int)
Proxy

Proxy can even hold types of higher kinds,

>>> Proxy :: Proxy Either
Proxy
>>> Proxy :: Proxy Functor
Proxy
>>> Proxy :: Proxy complicatedStructure
Proxy

Constructors

Proxy 

Instances

Instances details
Generic1 (Proxy ∷ k → Type)

Since: base-4.6.0.0

Instance details

Defined in GHC.Generics

Associated Types

type Rep1 Proxy ∷ k → Type Source #

Methods

from1 ∷ ∀ (a ∷ k0). Proxy a → Rep1 Proxy a Source #

to1 ∷ ∀ (a ∷ k0). Rep1 Proxy a → Proxy a Source #

SemialignWithIndex Void (ProxyTypeType) 
Instance details

Defined in Data.Semialign.Internal

Methods

ialignWith ∷ (Void → These a b → c) → Proxy a → Proxy b → Proxy c

ZipWithIndex Void (ProxyTypeType) 
Instance details

Defined in Data.Semialign.Internal

Methods

izipWith ∷ (Void → a → b → c) → Proxy a → Proxy b → Proxy c

RepeatWithIndex Void (ProxyTypeType) 
Instance details

Defined in Data.Semialign.Internal

Methods

irepeat ∷ (Void → a) → Proxy a

Monad (ProxyTypeType)

Since: base-4.7.0.0

Instance details

Defined in Data.Proxy

Methods

(>>=)Proxy a → (a → Proxy b) → Proxy b Source #

(>>)Proxy a → Proxy b → Proxy b Source #

return ∷ a → Proxy a Source #

Functor (ProxyTypeType)

Since: base-4.7.0.0

Instance details

Defined in Data.Proxy

Methods

fmap ∷ (a → b) → Proxy a → Proxy b Source #

(<$) ∷ a → Proxy b → Proxy a Source #

Applicative (ProxyTypeType)

Since: base-4.7.0.0

Instance details

Defined in Data.Proxy

Methods

pure ∷ a → Proxy a Source #

(<*>)Proxy (a → b) → Proxy a → Proxy b Source #

liftA2 ∷ (a → b → c) → Proxy a → Proxy b → Proxy c Source #

(*>)Proxy a → Proxy b → Proxy b Source #

(<*)Proxy a → Proxy b → Proxy a Source #

Foldable (ProxyTypeType)

Since: base-4.7.0.0

Instance details

Defined in Data.Foldable

Methods

foldMonoid m ⇒ Proxy m → m Source #

foldMapMonoid m ⇒ (a → m) → Proxy a → m Source #

foldMap'Monoid m ⇒ (a → m) → Proxy a → m Source #

foldr ∷ (a → b → b) → b → Proxy a → b Source #

foldr' ∷ (a → b → b) → b → Proxy a → b Source #

foldl ∷ (b → a → b) → b → Proxy a → b Source #

foldl' ∷ (b → a → b) → b → Proxy a → b Source #

foldr1 ∷ (a → a → a) → Proxy a → a Source #

foldl1 ∷ (a → a → a) → Proxy a → a Source #

toListProxy a → [a] Source #

nullProxy a → Bool Source #

lengthProxy a → Int Source #

elemEq a ⇒ a → Proxy a → Bool Source #

maximumOrd a ⇒ Proxy a → a Source #

minimumOrd a ⇒ Proxy a → a Source #

sumNum a ⇒ Proxy a → a Source #

productNum a ⇒ Proxy a → a Source #

Traversable (ProxyTypeType)

Since: base-4.7.0.0

Instance details

Defined in Data.Traversable

Methods

traverseApplicative f ⇒ (a → f b) → Proxy a → f (Proxy b) Source #

sequenceAApplicative f ⇒ Proxy (f a) → f (Proxy a) Source #

mapMMonad m ⇒ (a → m b) → Proxy a → m (Proxy b) Source #

sequenceMonad m ⇒ Proxy (m a) → m (Proxy a) Source #

Contravariant (ProxyTypeType) 
Instance details

Defined in Data.Functor.Contravariant

Methods

contramap ∷ (a → b) → Proxy b → Proxy a Source #

(>$) ∷ b → Proxy b → Proxy a Source #

Eq1 (ProxyTypeType)

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Classes

Methods

liftEq ∷ (a → b → Bool) → Proxy a → Proxy b → Bool Source #

Ord1 (ProxyTypeType)

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Classes

Methods

liftCompare ∷ (a → b → Ordering) → Proxy a → Proxy b → Ordering Source #

Read1 (ProxyTypeType)

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Classes

Methods

liftReadsPrec ∷ (IntReadS a) → ReadS [a] → IntReadS (Proxy a) Source #

liftReadList ∷ (IntReadS a) → ReadS [a] → ReadS [Proxy a] Source #

liftReadPrecReadPrec a → ReadPrec [a] → ReadPrec (Proxy a) Source #

liftReadListPrecReadPrec a → ReadPrec [a] → ReadPrec [Proxy a] Source #

Show1 (ProxyTypeType)

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Classes

Methods

liftShowsPrec ∷ (Int → a → ShowS) → ([a] → ShowS) → IntProxy a → ShowS Source #

liftShowList ∷ (Int → a → ShowS) → ([a] → ShowS) → [Proxy a] → ShowS Source #

Alternative (ProxyTypeType)

Since: base-4.9.0.0

Instance details

Defined in Data.Proxy

Methods

emptyProxy a Source #

(<|>)Proxy a → Proxy a → Proxy a Source #

someProxy a → Proxy [a] Source #

manyProxy a → Proxy [a] Source #

MonadPlus (ProxyTypeType)

Since: base-4.9.0.0

Instance details

Defined in Data.Proxy

Methods

mzeroProxy a Source #

mplusProxy a → Proxy a → Proxy a Source #

NFData1 (ProxyTypeType)

Since: deepseq-1.4.3.0

Instance details

Defined in Control.DeepSeq

Methods

liftRnf ∷ (a → ()) → Proxy a → () Source #

Hashable1 (ProxyTypeType) 
Instance details

Defined in Data.Hashable.Class

Methods

liftHashWithSalt ∷ (Int → a → Int) → IntProxy a → Int

Align (ProxyTypeType) 
Instance details

Defined in Data.Semialign.Internal

Methods

nilProxy a

Semialign (ProxyTypeType) 
Instance details

Defined in Data.Semialign.Internal

Methods

alignProxy a → Proxy b → Proxy (These a b)

alignWith ∷ (These a b → c) → Proxy a → Proxy b → Proxy c

Zip (ProxyTypeType) 
Instance details

Defined in Data.Semialign.Internal

Methods

zipProxy a → Proxy b → Proxy (a, b)

zipWith ∷ (a → b → c) → Proxy a → Proxy b → Proxy c

Unalign (ProxyTypeType) 
Instance details

Defined in Data.Semialign.Internal

Methods

unalignProxy (These a b) → (Proxy a, Proxy b)

unalignWith ∷ (c → These a b) → Proxy c → (Proxy a, Proxy b)

Repeat (ProxyTypeType) 
Instance details

Defined in Data.Semialign.Internal

Methods

repeat ∷ a → Proxy a

Unzip (ProxyTypeType) 
Instance details

Defined in Data.Semialign.Internal

Methods

unzipWith ∷ (c → (a, b)) → Proxy c → (Proxy a, Proxy b)

unzipProxy (a, b) → (Proxy a, Proxy b)

Bounded (Proxy t)

Since: base-4.7.0.0

Instance details

Defined in Data.Proxy

Enum (Proxy s)

Since: base-4.7.0.0

Instance details

Defined in Data.Proxy

Methods

succProxy s → Proxy s Source #

predProxy s → Proxy s Source #

toEnumIntProxy s Source #

fromEnumProxy s → Int Source #

enumFromProxy s → [Proxy s] Source #

enumFromThenProxy s → Proxy s → [Proxy s] Source #

enumFromToProxy s → Proxy s → [Proxy s] Source #

enumFromThenToProxy s → Proxy s → Proxy s → [Proxy s] Source #

Eq (Proxy s)

Since: base-4.7.0.0

Instance details

Defined in Data.Proxy

Methods

(==)Proxy s → Proxy s → Bool Source #

(/=)Proxy s → Proxy s → Bool Source #

Ord (Proxy s)

Since: base-4.7.0.0

Instance details

Defined in Data.Proxy

Methods

compareProxy s → Proxy s → Ordering Source #

(<)Proxy s → Proxy s → Bool Source #

(<=)Proxy s → Proxy s → Bool Source #

(>)Proxy s → Proxy s → Bool Source #

(>=)Proxy s → Proxy s → Bool Source #

maxProxy s → Proxy s → Proxy s Source #

minProxy s → Proxy s → Proxy s Source #

Read (Proxy t)

Since: base-4.7.0.0

Instance details

Defined in Data.Proxy

Show (Proxy s)

Since: base-4.7.0.0

Instance details

Defined in Data.Proxy

Methods

showsPrecIntProxy s → ShowS Source #

showProxy s → String Source #

showList ∷ [Proxy s] → ShowS Source #

Ix (Proxy s)

Since: base-4.7.0.0

Instance details

Defined in Data.Proxy

Methods

range ∷ (Proxy s, Proxy s) → [Proxy s] Source #

index ∷ (Proxy s, Proxy s) → Proxy s → Int Source #

unsafeIndex ∷ (Proxy s, Proxy s) → Proxy s → Int Source #

inRange ∷ (Proxy s, Proxy s) → Proxy s → Bool Source #

rangeSize ∷ (Proxy s, Proxy s) → Int Source #

unsafeRangeSize ∷ (Proxy s, Proxy s) → Int Source #

Generic (Proxy t)

Since: base-4.6.0.0

Instance details

Defined in GHC.Generics

Associated Types

type Rep (Proxy t) ∷ TypeType Source #

Methods

fromProxy t → Rep (Proxy t) x Source #

toRep (Proxy t) x → Proxy t Source #

Semigroup (Proxy s)

Since: base-4.9.0.0

Instance details

Defined in Data.Proxy

Methods

(<>)Proxy s → Proxy s → Proxy s Source #

sconcatNonEmpty (Proxy s) → Proxy s Source #

stimesIntegral b ⇒ b → Proxy s → Proxy s Source #

Monoid (Proxy s)

Since: base-4.7.0.0

Instance details

Defined in Data.Proxy

Methods

memptyProxy s Source #

mappendProxy s → Proxy s → Proxy s Source #

mconcat ∷ [Proxy s] → Proxy s Source #

NFData (Proxy a)

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnfProxy a → () Source #

Hashable (Proxy a) 
Instance details

Defined in Data.Hashable.Class

Methods

hashWithSaltIntProxy a → Int

hashProxy a → Int

Serialise (Proxy a) 
Instance details

Defined in Codec.Serialise.Class

Methods

encodeProxy a → Encoding #

decode ∷ Decoder s (Proxy a) #

encodeList ∷ [Proxy a] → Encoding #

decodeList ∷ Decoder s [Proxy a] #

type Rep1 (Proxy ∷ k → Type) 
Instance details

Defined in GHC.Generics

type Rep1 (Proxy ∷ k → Type) = D1 ('MetaData "Proxy" "Data.Proxy" "base" 'False) (C1 ('MetaCons "Proxy" 'PrefixI 'False) (U1 ∷ k → Type))
type Rep (Proxy t) 
Instance details

Defined in GHC.Generics

type Rep (Proxy t) = D1 ('MetaData "Proxy" "Data.Proxy" "base" 'False) (C1 ('MetaCons "Proxy" 'PrefixI 'False) (U1TypeType))

mapII ∷ (a → b) → I a → I b #

mapIII ∷ (a → b → c) → I a → I b → I c #

mapIIK ∷ ∀ k a b c (d ∷ k). (a → b → c) → I a → I b → K c d #

mapIK ∷ ∀ k a b (c ∷ k). (a → b) → I a → K b c #

mapIKI ∷ ∀ k a b c (d ∷ k). (a → b → c) → I a → K b d → I c #

mapIKK ∷ ∀ k1 k2 a b c (d ∷ k1) (e ∷ k2). (a → b → c) → I a → K b d → K c e #

mapKI ∷ ∀ k a b (c ∷ k). (a → b) → K a c → I b #

mapKII ∷ ∀ k a b c (d ∷ k). (a → b → c) → K a d → I b → I c #

mapKIK ∷ ∀ k1 k2 a b c (d ∷ k1) (e ∷ k2). (a → b → c) → K a d → I b → K c e #

mapKK ∷ ∀ k1 k2 a b (c ∷ k1) (d ∷ k2). (a → b) → K a c → K b d #

mapKKI ∷ ∀ k1 k2 a b c (d ∷ k1) (e ∷ k2). (a → b → c) → K a d → K b e → I c #

mapKKK ∷ ∀ k1 k2 k3 a b c (d ∷ k1) (e ∷ k2) (f ∷ k3). (a → b → c) → K a d → K b e → K c f #

unComp ∷ ∀ l k f (g ∷ k → l) (p ∷ k). (f :.: g) p → f (g p) #

unII a → a #

unK ∷ ∀ k a (b ∷ k). K a b → a #

fn ∷ ∀ k f (a ∷ k) f'. (f a → f' a) → (f -.-> f') a #

fn_2 ∷ ∀ k f (a ∷ k) f' f''. (f a → f' a → f'' a) → (f -.-> (f' -.-> f'')) a #

fn_3 ∷ ∀ k f (a ∷ k) f' f'' f'''. (f a → f' a → f'' a → f''' a) → (f -.-> (f' -.-> (f'' -.-> f'''))) a #

fn_4 ∷ ∀ k f (a ∷ k) f' f'' f''' f''''. (f a → f' a → f'' a → f''' a → f'''' a) → (f -.-> (f' -.-> (f'' -.-> (f''' -.-> f'''')))) a #

hcfoldMap ∷ ∀ k l h c (xs ∷ l) m proxy f. (HTraverse_ h, AllN h c xs, Monoid m) ⇒ proxy c → (∀ (a ∷ k). c a ⇒ f a → m) → h f xs → m #

hcfor ∷ ∀ l h c (xs ∷ l) g proxy f. (HSequence h, AllN h c xs, Applicative g) ⇒ proxy c → h f xs → (∀ a. c a ⇒ f a → g a) → g (h I xs) #

hcfor_ ∷ ∀ k l h c (xs ∷ l) g proxy f. (HTraverse_ h, AllN h c xs, Applicative g) ⇒ proxy c → h f xs → (∀ (a ∷ k). c a ⇒ f a → g ()) → g () #

hcliftA ∷ ∀ k l h c (xs ∷ l) proxy f f'. (AllN (Prod h) c xs, HAp h) ⇒ proxy c → (∀ (a ∷ k). c a ⇒ f a → f' a) → h f xs → h f' xs #

hcliftA2 ∷ ∀ k l h c (xs ∷ l) proxy f f' f''. (AllN (Prod h) c xs, HAp h, HAp (Prod h)) ⇒ proxy c → (∀ (a ∷ k). c a ⇒ f a → f' a → f'' a) → Prod h f xs → h f' xs → h f'' xs #

hcliftA3 ∷ ∀ k l h c (xs ∷ l) proxy f f' f'' f'''. (AllN (Prod h) c xs, HAp h, HAp (Prod h)) ⇒ proxy c → (∀ (a ∷ k). c a ⇒ f a → f' a → f'' a → f''' a) → Prod h f xs → Prod h f' xs → h f'' xs → h f''' xs #

hcmap ∷ ∀ k l h c (xs ∷ l) proxy f f'. (AllN (Prod h) c xs, HAp h) ⇒ proxy c → (∀ (a ∷ k). c a ⇒ f a → f' a) → h f xs → h f' xs #

hctraverse ∷ ∀ l h c (xs ∷ l) g proxy f. (HSequence h, AllN h c xs, Applicative g) ⇒ proxy c → (∀ a. c a ⇒ f a → g a) → h f xs → g (h I xs) #

hczipWith ∷ ∀ k l h c (xs ∷ l) proxy f f' f''. (AllN (Prod h) c xs, HAp h, HAp (Prod h)) ⇒ proxy c → (∀ (a ∷ k). c a ⇒ f a → f' a → f'' a) → Prod h f xs → h f' xs → h f'' xs #

hczipWith3 ∷ ∀ k l h c (xs ∷ l) proxy f f' f'' f'''. (AllN (Prod h) c xs, HAp h, HAp (Prod h)) ⇒ proxy c → (∀ (a ∷ k). c a ⇒ f a → f' a → f'' a → f''' a) → Prod h f xs → Prod h f' xs → h f'' xs → h f''' xs #

hfromI ∷ ∀ l1 k2 l2 h1 (f ∷ k2 → Type) (xs ∷ l1) (ys ∷ l2) h2. (AllZipN (Prod h1) (LiftedCoercible I f) xs ys, HTrans h1 h2) ⇒ h1 I xs → h2 f ys #

hliftA ∷ ∀ k l h (xs ∷ l) f f'. (SListIN (Prod h) xs, HAp h) ⇒ (∀ (a ∷ k). f a → f' a) → h f xs → h f' xs #

hliftA2 ∷ ∀ k l h (xs ∷ l) f f' f''. (SListIN (Prod h) xs, HAp h, HAp (Prod h)) ⇒ (∀ (a ∷ k). f a → f' a → f'' a) → Prod h f xs → h f' xs → h f'' xs #

hliftA3 ∷ ∀ k l h (xs ∷ l) f f' f'' f'''. (SListIN (Prod h) xs, HAp h, HAp (Prod h)) ⇒ (∀ (a ∷ k). f a → f' a → f'' a → f''' a) → Prod h f xs → Prod h f' xs → h f'' xs → h f''' xs #

hmap ∷ ∀ k l h (xs ∷ l) f f'. (SListIN (Prod h) xs, HAp h) ⇒ (∀ (a ∷ k). f a → f' a) → h f xs → h f' xs #

hsequence ∷ ∀ l h (xs ∷ l) f. (SListIN h xs, SListIN (Prod h) xs, HSequence h, Applicative f) ⇒ h f xs → f (h I xs) #

hsequenceK ∷ ∀ k l h (xs ∷ l) f a. (SListIN h xs, SListIN (Prod h) xs, Applicative f, HSequence h) ⇒ h (K (f a) ∷ k → Type) xs → f (h (K a ∷ k → Type) xs) #

htoI ∷ ∀ k1 l1 l2 h1 (f ∷ k1 → Type) (xs ∷ l1) (ys ∷ l2) h2. (AllZipN (Prod h1) (LiftedCoercible f I) xs ys, HTrans h1 h2) ⇒ h1 f xs → h2 I ys #

hzipWith ∷ ∀ k l h (xs ∷ l) f f' f''. (SListIN (Prod h) xs, HAp h, HAp (Prod h)) ⇒ (∀ (a ∷ k). f a → f' a → f'' a) → Prod h f xs → h f' xs → h f'' xs #

hzipWith3 ∷ ∀ k l h (xs ∷ l) f f' f'' f'''. (SListIN (Prod h) xs, HAp h, HAp (Prod h)) ⇒ (∀ (a ∷ k). f a → f' a → f'' a → f''' a) → Prod h f xs → Prod h f' xs → h f'' xs → h f''' xs #

ccase_SList ∷ ∀ k c (xs ∷ [k]) proxy r. All c xs ⇒ proxy c → r ('[] ∷ [k]) → (∀ (y ∷ k) (ys ∷ [k]). (c y, All c ys) ⇒ r (y ': ys)) → r xs #

fromList ∷ ∀ k (xs ∷ [k]) a. SListI xs ⇒ [a] → Maybe (NP (K a ∷ k → Type) xs) #

hcliftA' ∷ ∀ k (c ∷ k → Constraint) (xss ∷ [[k]]) h proxy f f'. (All2 c xss, Prod h ~ (NP ∷ ([k] → Type) → [[k]] → Type), HAp h) ⇒ proxy c → (∀ (xs ∷ [k]). All c xs ⇒ f xs → f' xs) → h f xss → h f' xss #

hcliftA2' ∷ ∀ k (c ∷ k → Constraint) (xss ∷ [[k]]) h proxy f f' f''. (All2 c xss, Prod h ~ (NP ∷ ([k] → Type) → [[k]] → Type), HAp h) ⇒ proxy c → (∀ (xs ∷ [k]). All c xs ⇒ f xs → f' xs → f'' xs) → Prod h f xss → h f' xss → h f'' xss #

hcliftA3' ∷ ∀ k (c ∷ k → Constraint) (xss ∷ [[k]]) h proxy f f' f'' f'''. (All2 c xss, Prod h ~ (NP ∷ ([k] → Type) → [[k]] → Type), HAp h) ⇒ proxy c → (∀ (xs ∷ [k]). All c xs ⇒ f xs → f' xs → f'' xs → f''' xs) → Prod h f xss → Prod h f' xss → h f'' xss → h f''' xss #

projections ∷ ∀ k (xs ∷ [k]) (f ∷ k → Type). SListI xs ⇒ NP (Projection f xs) xs #

shiftProjection ∷ ∀ a1 (f ∷ a1 → Type) (xs ∷ [a1]) (a2 ∷ a1) (x ∷ a1). Projection f xs a2 → Projection f (x ': xs) a2 #

unPOP ∷ ∀ k (f ∷ k → Type) (xss ∷ [[k]]). POP f xss → NP (NP f) xss #

apInjs_NP ∷ ∀ k (xs ∷ [k]) (f ∷ k → Type). SListI xs ⇒ NP f xs → [NS f xs] #

apInjs_POP ∷ ∀ k (xss ∷ [[k]]) (f ∷ k → Type). SListI xss ⇒ POP f xss → [SOP f xss] #

ccompare_NS ∷ ∀ k c proxy r f g (xs ∷ [k]). All c xs ⇒ proxy c → r → (∀ (x ∷ k). c x ⇒ f x → g x → r) → r → NS f xs → NS g xs → r #

ccompare_SOP ∷ ∀ k (c ∷ k → Constraint) proxy r (f ∷ k → Type) (g ∷ k → Type) (xss ∷ [[k]]). All2 c xss ⇒ proxy c → r → (∀ (xs ∷ [k]). All c xs ⇒ NP f xs → NP g xs → r) → r → SOP f xss → SOP g xss → r #

compare_NS ∷ ∀ k r f g (xs ∷ [k]). r → (∀ (x ∷ k). f x → g x → r) → r → NS f xs → NS g xs → r #

compare_SOP ∷ ∀ k r (f ∷ k → Type) (g ∷ k → Type) (xss ∷ [[k]]). r → (∀ (xs ∷ [k]). NP f xs → NP g xs → r) → r → SOP f xss → SOP g xss → r #

shift ∷ ∀ a1 (f ∷ a1 → Type) (xs ∷ [a1]) (a2 ∷ a1) (x ∷ a1). Injection f xs a2 → Injection f (x ': xs) a2 #

unSOP ∷ ∀ k (f ∷ k → Type) (xss ∷ [[k]]). SOP f xss → NS (NP f) xss #

case_SList ∷ ∀ k (xs ∷ [k]) r. SListI xs ⇒ r ('[] ∷ [k]) → (∀ (y ∷ k) (ys ∷ [k]). SListI ys ⇒ r (y ': ys)) → r xs #

lengthSList ∷ ∀ k (xs ∷ [k]) proxy. SListI xs ⇒ proxy xs → Int #

para_SList ∷ ∀ k (xs ∷ [k]) r. SListI xs ⇒ r ('[] ∷ [k]) → (∀ (y ∷ k) (ys ∷ [k]). SListI ys ⇒ r ys → r (y ': ys)) → r xs #

sList ∷ ∀ k (xs ∷ [k]). SListI xs ⇒ SList xs #

shape ∷ ∀ k (xs ∷ [k]). SListI xs ⇒ Shape xs #

newtype ((f ∷ l → Type) :.: (g ∷ k → l)) (p ∷ k) #

Constructors

Comp (f (g p)) 

Instances

Instances details
DecodeDisk blk (a → f blk) ⇒ DecodeDisk blk ((((->) a ∷ TypeType) :.: f) blk) Source # 
Instance details

Defined in Ouroboros.Consensus.Storage.Serialisation

Methods

decodeDiskCodecConfig blk → ∀ s. Decoder s (((->) a :.: f) blk) Source #

(Functor f, Functor g) ⇒ Functor (f :.: g) 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

fmap ∷ (a → b) → (f :.: g) a → (f :.: g) b Source #

(<$) ∷ a → (f :.: g) b → (f :.: g) a Source #

(Applicative f, Applicative g) ⇒ Applicative (f :.: g) 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

pure ∷ a → (f :.: g) a Source #

(<*>) ∷ (f :.: g) (a → b) → (f :.: g) a → (f :.: g) b Source #

liftA2 ∷ (a → b → c) → (f :.: g) a → (f :.: g) b → (f :.: g) c Source #

(*>) ∷ (f :.: g) a → (f :.: g) b → (f :.: g) b Source #

(<*) ∷ (f :.: g) a → (f :.: g) b → (f :.: g) a Source #

(Foldable f, Foldable g) ⇒ Foldable (f :.: g) 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

foldMonoid m ⇒ (f :.: g) m → m Source #

foldMapMonoid m ⇒ (a → m) → (f :.: g) a → m Source #

foldMap'Monoid m ⇒ (a → m) → (f :.: g) a → m Source #

foldr ∷ (a → b → b) → b → (f :.: g) a → b Source #

foldr' ∷ (a → b → b) → b → (f :.: g) a → b Source #

foldl ∷ (b → a → b) → b → (f :.: g) a → b Source #

foldl' ∷ (b → a → b) → b → (f :.: g) a → b Source #

foldr1 ∷ (a → a → a) → (f :.: g) a → a Source #

foldl1 ∷ (a → a → a) → (f :.: g) a → a Source #

toList ∷ (f :.: g) a → [a] Source #

null ∷ (f :.: g) a → Bool Source #

length ∷ (f :.: g) a → Int Source #

elemEq a ⇒ a → (f :.: g) a → Bool Source #

maximumOrd a ⇒ (f :.: g) a → a Source #

minimumOrd a ⇒ (f :.: g) a → a Source #

sumNum a ⇒ (f :.: g) a → a Source #

productNum a ⇒ (f :.: g) a → a Source #

(Traversable f, Traversable g) ⇒ Traversable (f :.: g) 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

traverseApplicative f0 ⇒ (a → f0 b) → (f :.: g) a → f0 ((f :.: g) b) Source #

sequenceAApplicative f0 ⇒ (f :.: g) (f0 a) → f0 ((f :.: g) a) Source #

mapMMonad m ⇒ (a → m b) → (f :.: g) a → m ((f :.: g) b) Source #

sequenceMonad m ⇒ (f :.: g) (m a) → m ((f :.: g) a) Source #

(Eq1 f, Eq1 g) ⇒ Eq1 (f :.: g) 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

liftEq ∷ (a → b → Bool) → (f :.: g) a → (f :.: g) b → Bool Source #

(Ord1 f, Ord1 g) ⇒ Ord1 (f :.: g) 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

liftCompare ∷ (a → b → Ordering) → (f :.: g) a → (f :.: g) b → Ordering Source #

(Read1 f, Read1 g) ⇒ Read1 (f :.: g) 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

liftReadsPrec ∷ (IntReadS a) → ReadS [a] → IntReadS ((f :.: g) a) Source #

liftReadList ∷ (IntReadS a) → ReadS [a] → ReadS [(f :.: g) a] Source #

liftReadPrecReadPrec a → ReadPrec [a] → ReadPrec ((f :.: g) a) Source #

liftReadListPrecReadPrec a → ReadPrec [a] → ReadPrec [(f :.: g) a] Source #

(Show1 f, Show1 g) ⇒ Show1 (f :.: g) 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

liftShowsPrec ∷ (Int → a → ShowS) → ([a] → ShowS) → Int → (f :.: g) a → ShowS Source #

liftShowList ∷ (Int → a → ShowS) → ([a] → ShowS) → [(f :.: g) a] → ShowS Source #

(NFData1 f, NFData1 g) ⇒ NFData1 (f :.: g) 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

liftRnf ∷ (a → ()) → (f :.: g) a → () Source #

Isomorphic (Ticked :.: LedgerState) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Embed.Unary

(Eq1 f, Eq1 g, Eq a) ⇒ Eq ((f :.: g) a) 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

(==) ∷ (f :.: g) a → (f :.: g) a → Bool Source #

(/=) ∷ (f :.: g) a → (f :.: g) a → Bool Source #

(Ord1 f, Ord1 g, Ord a) ⇒ Ord ((f :.: g) a) 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

compare ∷ (f :.: g) a → (f :.: g) a → Ordering Source #

(<) ∷ (f :.: g) a → (f :.: g) a → Bool Source #

(<=) ∷ (f :.: g) a → (f :.: g) a → Bool Source #

(>) ∷ (f :.: g) a → (f :.: g) a → Bool Source #

(>=) ∷ (f :.: g) a → (f :.: g) a → Bool Source #

max ∷ (f :.: g) a → (f :.: g) a → (f :.: g) a Source #

min ∷ (f :.: g) a → (f :.: g) a → (f :.: g) a Source #

(Read1 f, Read1 g, Read a) ⇒ Read ((f :.: g) a) 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

readsPrecIntReadS ((f :.: g) a) Source #

readListReadS [(f :.: g) a] Source #

readPrecReadPrec ((f :.: g) a) Source #

readListPrecReadPrec [(f :.: g) a] Source #

(Show1 f, Show1 g, Show a) ⇒ Show ((f :.: g) a) 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

showsPrecInt → (f :.: g) a → ShowS Source #

show ∷ (f :.: g) a → String Source #

showList ∷ [(f :.: g) a] → ShowS Source #

Show (Ticked (f a)) ⇒ Show ((Ticked :.: f) a) Source # 
Instance details

Defined in Ouroboros.Consensus.Ticked

Methods

showsPrecInt → (Ticked :.: f) a → ShowS Source #

show ∷ (Ticked :.: f) a → String Source #

showList ∷ [(Ticked :.: f) a] → ShowS Source #

Generic ((f :.: g) p) 
Instance details

Defined in Data.SOP.BasicFunctors

Associated Types

type Rep ((f :.: g) p) ∷ TypeType Source #

Methods

from ∷ (f :.: g) p → Rep ((f :.: g) p) x Source #

toRep ((f :.: g) p) x → (f :.: g) p Source #

Semigroup (f (g x)) ⇒ Semigroup ((f :.: g) x) 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

(<>) ∷ (f :.: g) x → (f :.: g) x → (f :.: g) x Source #

sconcatNonEmpty ((f :.: g) x) → (f :.: g) x Source #

stimesIntegral b ⇒ b → (f :.: g) x → (f :.: g) x Source #

Monoid (f (g x)) ⇒ Monoid ((f :.: g) x) 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

mempty ∷ (f :.: g) x Source #

mappend ∷ (f :.: g) x → (f :.: g) x → (f :.: g) x Source #

mconcat ∷ [(f :.: g) x] → (f :.: g) x Source #

NFData (f (g a)) ⇒ NFData ((f :.: g) a) 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

rnf ∷ (f :.: g) a → () Source #

NoThunks (Ticked (f a)) ⇒ NoThunks ((Ticked :.: f) a) Source # 
Instance details

Defined in Ouroboros.Consensus.Ticked

Methods

noThunks ∷ Context → (Ticked :.: f) a → IO (Maybe ThunkInfo) #

wNoThunks ∷ Context → (Ticked :.: f) a → IO (Maybe ThunkInfo) #

showTypeOfProxy ((Ticked :.: f) a) → String #

type Rep ((f :.: g) p) 
Instance details

Defined in Data.SOP.BasicFunctors

type Rep ((f :.: g) p) = D1 ('MetaData ":.:" "Data.SOP.BasicFunctors" "sop-core-0.5.0.2-62b948288ed34f0f65520b046d9d637c14ccc98ece5eb9a04f1f7c5bb7d1bbe9" 'True) (C1 ('MetaCons "Comp" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f (g p)))))

newtype I a #

Constructors

I a 

Instances

Instances details
Monad I 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

(>>=)I a → (a → I b) → I b Source #

(>>)I a → I b → I b Source #

return ∷ a → I a Source #

Functor I 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

fmap ∷ (a → b) → I a → I b Source #

(<$) ∷ a → I b → I a Source #

Applicative I 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

pure ∷ a → I a Source #

(<*>)I (a → b) → I a → I b Source #

liftA2 ∷ (a → b → c) → I a → I b → I c Source #

(*>)I a → I b → I b Source #

(<*)I a → I b → I a Source #

Foldable I 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

foldMonoid m ⇒ I m → m Source #

foldMapMonoid m ⇒ (a → m) → I a → m Source #

foldMap'Monoid m ⇒ (a → m) → I a → m Source #

foldr ∷ (a → b → b) → b → I a → b Source #

foldr' ∷ (a → b → b) → b → I a → b Source #

foldl ∷ (b → a → b) → b → I a → b Source #

foldl' ∷ (b → a → b) → b → I a → b Source #

foldr1 ∷ (a → a → a) → I a → a Source #

foldl1 ∷ (a → a → a) → I a → a Source #

toListI a → [a] Source #

nullI a → Bool Source #

lengthI a → Int Source #

elemEq a ⇒ a → I a → Bool Source #

maximumOrd a ⇒ I a → a Source #

minimumOrd a ⇒ I a → a Source #

sumNum a ⇒ I a → a Source #

productNum a ⇒ I a → a Source #

Traversable I 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

traverseApplicative f ⇒ (a → f b) → I a → f (I b) Source #

sequenceAApplicative f ⇒ I (f a) → f (I a) Source #

mapMMonad m ⇒ (a → m b) → I a → m (I b) Source #

sequenceMonad m ⇒ I (m a) → m (I a) Source #

Eq1 I 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

liftEq ∷ (a → b → Bool) → I a → I b → Bool Source #

Ord1 I 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

liftCompare ∷ (a → b → Ordering) → I a → I b → Ordering Source #

Read1 I 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

liftReadsPrec ∷ (IntReadS a) → ReadS [a] → IntReadS (I a) Source #

liftReadList ∷ (IntReadS a) → ReadS [a] → ReadS [I a] Source #

liftReadPrecReadPrec a → ReadPrec [a] → ReadPrec (I a) Source #

liftReadListPrecReadPrec a → ReadPrec [a] → ReadPrec [I a] Source #

Show1 I 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

liftShowsPrec ∷ (Int → a → ShowS) → ([a] → ShowS) → IntI a → ShowS Source #

liftShowList ∷ (Int → a → ShowS) → ([a] → ShowS) → [I a] → ShowS Source #

NFData1 I 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

liftRnf ∷ (a → ()) → I a → () Source #

Isomorphic I Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Embed.Unary

Methods

projectNoHardForks blk ⇒ I (HardForkBlock '[blk]) → I blk Source #

injectNoHardForks blk ⇒ I blk → I (HardForkBlock '[blk]) Source #

Inject I Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Embed.Nary

Methods

inject ∷ ∀ x (xs ∷ [Type]). CanHardFork xs ⇒ Exactly xs BoundIndex xs x → I x → I (HardForkBlock xs) Source #

DecodeDisk blk blk ⇒ DecodeDisk blk (I blk) Source # 
Instance details

Defined in Ouroboros.Consensus.Storage.Serialisation

Methods

decodeDiskCodecConfig blk → ∀ s. Decoder s (I blk) Source #

(DecodeDiskDepIx f blk, DecodeDiskDep f blk) ⇒ DecodeDisk blk (DepPair (f blk)) Source # 
Instance details

Defined in Ouroboros.Consensus.Storage.Serialisation

Methods

decodeDiskCodecConfig blk → ∀ s. Decoder s (DepPair (f blk)) Source #

EncodeDisk blk blk ⇒ EncodeDisk blk (I blk) Source # 
Instance details

Defined in Ouroboros.Consensus.Storage.Serialisation

Methods

encodeDiskCodecConfig blk → I blk → Encoding Source #

(EncodeDiskDepIx f blk, EncodeDiskDep f blk) ⇒ EncodeDisk blk (DepPair (f blk)) Source # 
Instance details

Defined in Ouroboros.Consensus.Storage.Serialisation

Methods

encodeDiskCodecConfig blk → DepPair (f blk) → Encoding Source #

SerialiseNodeToClient blk blk ⇒ SerialiseNodeToClient blk (I blk) Source # 
Instance details

Defined in Ouroboros.Consensus.Node.Serialisation

Methods

encodeNodeToClientCodecConfig blk → BlockNodeToClientVersion blk → I blk → Encoding Source #

decodeNodeToClientCodecConfig blk → BlockNodeToClientVersion blk → ∀ s. Decoder s (I blk) Source #

SerialiseNodeToNode blk blk ⇒ SerialiseNodeToNode blk (I blk) Source # 
Instance details

Defined in Ouroboros.Consensus.Node.Serialisation

Methods

encodeNodeToNodeCodecConfig blk → BlockNodeToNodeVersion blk → I blk → Encoding Source #

decodeNodeToNodeCodecConfig blk → BlockNodeToNodeVersion blk → ∀ s. Decoder s (I blk) Source #

Eq a ⇒ Eq (I a) 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

(==)I a → I a → Bool Source #

(/=)I a → I a → Bool Source #

Ord a ⇒ Ord (I a) 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

compareI a → I a → Ordering Source #

(<)I a → I a → Bool Source #

(<=)I a → I a → Bool Source #

(>)I a → I a → Bool Source #

(>=)I a → I a → Bool Source #

maxI a → I a → I a Source #

minI a → I a → I a Source #

Read a ⇒ Read (I a) 
Instance details

Defined in Data.SOP.BasicFunctors

Show a ⇒ Show (I a) 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

showsPrecIntI a → ShowS Source #

showI a → String Source #

showList ∷ [I a] → ShowS Source #

Generic (I a) 
Instance details

Defined in Data.SOP.BasicFunctors

Associated Types

type Rep (I a) ∷ TypeType Source #

Methods

fromI a → Rep (I a) x Source #

toRep (I a) x → I a Source #

Semigroup a ⇒ Semigroup (I a) 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

(<>)I a → I a → I a Source #

sconcatNonEmpty (I a) → I a Source #

stimesIntegral b ⇒ b → I a → I a Source #

Monoid a ⇒ Monoid (I a) 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

memptyI a Source #

mappendI a → I a → I a Source #

mconcat ∷ [I a] → I a Source #

NFData a ⇒ NFData (I a) 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

rnfI a → () Source #

Condense a ⇒ Condense (I a) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Condense

Methods

condenseI a → String Source #

type Rep (I a) 
Instance details

Defined in Data.SOP.BasicFunctors

type Rep (I a) = D1 ('MetaData "I" "Data.SOP.BasicFunctors" "sop-core-0.5.0.2-62b948288ed34f0f65520b046d9d637c14ccc98ece5eb9a04f1f7c5bb7d1bbe9" 'True) (C1 ('MetaCons "I" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

newtype K a (b ∷ k) #

Constructors

K a 

Instances

Instances details
Show (Ticked a) ⇒ Show (Ticked (K a x)) Source # 
Instance details

Defined in Ouroboros.Consensus.Ticked

Methods

showsPrecIntTicked (K a x) → ShowS Source #

showTicked (K a x) → String Source #

showList ∷ [Ticked (K a x)] → ShowS Source #

(SListI xs, Show (Ticked a)) ⇒ Show (Ticked (HardForkLedgerView_ (K a ∷ TypeType) xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Protocol.LedgerView

Eq2 (KTypeTypeType) 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

liftEq2 ∷ (a → b → Bool) → (c → d → Bool) → K a c → K b d → Bool Source #

Ord2 (KTypeTypeType) 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

liftCompare2 ∷ (a → b → Ordering) → (c → d → Ordering) → K a c → K b d → Ordering Source #

Read2 (KTypeTypeType) 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

liftReadsPrec2 ∷ (IntReadS a) → ReadS [a] → (IntReadS b) → ReadS [b] → IntReadS (K a b) Source #

liftReadList2 ∷ (IntReadS a) → ReadS [a] → (IntReadS b) → ReadS [b] → ReadS [K a b] Source #

liftReadPrec2ReadPrec a → ReadPrec [a] → ReadPrec b → ReadPrec [b] → ReadPrec (K a b) Source #

liftReadListPrec2ReadPrec a → ReadPrec [a] → ReadPrec b → ReadPrec [b] → ReadPrec [K a b] Source #

Show2 (KTypeTypeType) 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

liftShowsPrec2 ∷ (Int → a → ShowS) → ([a] → ShowS) → (Int → b → ShowS) → ([b] → ShowS) → IntK a b → ShowS Source #

liftShowList2 ∷ (Int → a → ShowS) → ([a] → ShowS) → (Int → b → ShowS) → ([b] → ShowS) → [K a b] → ShowS Source #

NFData2 (KTypeTypeType) 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

liftRnf2 ∷ (a → ()) → (b → ()) → K a b → () Source #

Functor (K a ∷ TypeType) 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

fmap ∷ (a0 → b) → K a a0 → K a b Source #

(<$) ∷ a0 → K a b → K a a0 Source #

(SListI xs, Show a) ⇒ Show (HardForkLedgerView_ (K a ∷ TypeType) xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Protocol.LedgerView

Monoid a ⇒ Applicative (K a ∷ TypeType) 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

pure ∷ a0 → K a a0 Source #

(<*>)K a (a0 → b) → K a a0 → K a b Source #

liftA2 ∷ (a0 → b → c) → K a a0 → K a b → K a c Source #

(*>)K a a0 → K a b → K a b Source #

(<*)K a a0 → K a b → K a a0 Source #

Foldable (K a ∷ TypeType) 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

foldMonoid m ⇒ K a m → m Source #

foldMapMonoid m ⇒ (a0 → m) → K a a0 → m Source #

foldMap'Monoid m ⇒ (a0 → m) → K a a0 → m Source #

foldr ∷ (a0 → b → b) → b → K a a0 → b Source #

foldr' ∷ (a0 → b → b) → b → K a a0 → b Source #

foldl ∷ (b → a0 → b) → b → K a a0 → b Source #

foldl' ∷ (b → a0 → b) → b → K a a0 → b Source #

foldr1 ∷ (a0 → a0 → a0) → K a a0 → a0 Source #

foldl1 ∷ (a0 → a0 → a0) → K a a0 → a0 Source #

toListK a a0 → [a0] Source #

nullK a a0 → Bool Source #

lengthK a a0 → Int Source #

elemEq a0 ⇒ a0 → K a a0 → Bool Source #

maximumOrd a0 ⇒ K a a0 → a0 Source #

minimumOrd a0 ⇒ K a a0 → a0 Source #

sumNum a0 ⇒ K a a0 → a0 Source #

productNum a0 ⇒ K a a0 → a0 Source #

Traversable (K a ∷ TypeType) 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

traverseApplicative f ⇒ (a0 → f b) → K a a0 → f (K a b) Source #

sequenceAApplicative f ⇒ K a (f a0) → f (K a a0) Source #

mapMMonad m ⇒ (a0 → m b) → K a a0 → m (K a b) Source #

sequenceMonad m ⇒ K a (m a0) → m (K a a0) Source #

Eq a ⇒ Eq1 (K a ∷ TypeType) 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

liftEq ∷ (a0 → b → Bool) → K a a0 → K a b → Bool Source #

Ord a ⇒ Ord1 (K a ∷ TypeType) 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

liftCompare ∷ (a0 → b → Ordering) → K a a0 → K a b → Ordering Source #

Read a ⇒ Read1 (K a ∷ TypeType) 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

liftReadsPrec ∷ (IntReadS a0) → ReadS [a0] → IntReadS (K a a0) Source #

liftReadList ∷ (IntReadS a0) → ReadS [a0] → ReadS [K a a0] Source #

liftReadPrecReadPrec a0 → ReadPrec [a0] → ReadPrec (K a a0) Source #

liftReadListPrecReadPrec a0 → ReadPrec [a0] → ReadPrec [K a a0] Source #

Show a ⇒ Show1 (K a ∷ TypeType) 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

liftShowsPrec ∷ (Int → a0 → ShowS) → ([a0] → ShowS) → IntK a a0 → ShowS Source #

liftShowList ∷ (Int → a0 → ShowS) → ([a0] → ShowS) → [K a a0] → ShowS Source #

NFData a ⇒ NFData1 (K a ∷ TypeType) 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

liftRnf ∷ (a0 → ()) → K a a0 → () Source #

Eq a ⇒ Eq (K a b) 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

(==)K a b → K a b → Bool Source #

(/=)K a b → K a b → Bool Source #

Ord a ⇒ Ord (K a b) 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

compareK a b → K a b → Ordering Source #

(<)K a b → K a b → Bool Source #

(<=)K a b → K a b → Bool Source #

(>)K a b → K a b → Bool Source #

(>=)K a b → K a b → Bool Source #

maxK a b → K a b → K a b Source #

minK a b → K a b → K a b Source #

Read a ⇒ Read (K a b) 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

readsPrecIntReadS (K a b) Source #

readListReadS [K a b] Source #

readPrecReadPrec (K a b) Source #

readListPrecReadPrec [K a b] Source #

Show a ⇒ Show (K a b) 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

showsPrecIntK a b → ShowS Source #

showK a b → String Source #

showList ∷ [K a b] → ShowS Source #

Generic (K a b) 
Instance details

Defined in Data.SOP.BasicFunctors

Associated Types

type Rep (K a b) ∷ TypeType Source #

Methods

fromK a b → Rep (K a b) x Source #

toRep (K a b) x → K a b Source #

Semigroup a ⇒ Semigroup (K a b) 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

(<>)K a b → K a b → K a b Source #

sconcatNonEmpty (K a b) → K a b Source #

stimesIntegral b0 ⇒ b0 → K a b → K a b Source #

Monoid a ⇒ Monoid (K a b) 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

memptyK a b Source #

mappendK a b → K a b → K a b Source #

mconcat ∷ [K a b] → K a b Source #

NFData a ⇒ NFData (K a b) 
Instance details

Defined in Data.SOP.BasicFunctors

Methods

rnfK a b → () Source #

NoThunks a ⇒ NoThunks (K a b) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.Orphans

Methods

noThunks ∷ Context → K a b → IO (Maybe ThunkInfo) #

wNoThunks ∷ Context → K a b → IO (Maybe ThunkInfo) #

showTypeOfProxy (K a b) → String #

type Rep (K a b) 
Instance details

Defined in Data.SOP.BasicFunctors

type Rep (K a b) = D1 ('MetaData "K" "Data.SOP.BasicFunctors" "sop-core-0.5.0.2-62b948288ed34f0f65520b046d9d637c14ccc98ece5eb9a04f1f7c5bb7d1bbe9" 'True) (C1 ('MetaCons "K" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))
newtype Ticked (K a x) Source # 
Instance details

Defined in Ouroboros.Consensus.Ticked

newtype Ticked (K a x) = TickedK {}

newtype ((f ∷ k → Type) -.-> (g ∷ k → Type)) (a ∷ k) #

Constructors

Fn 

Fields

  • apFn ∷ f a → g a
     

type family CollapseTo (h ∷ (k → Type) → l → Type) x #

Instances

Instances details
type CollapseTo (NP ∷ (k → Type) → [k] → Type) a Source # 
Instance details

Defined in Data.SOP.Strict

type CollapseTo (NP ∷ (k → Type) → [k] → Type) a = [a]
type CollapseTo (NS ∷ (k → Type) → [k] → Type) a Source # 
Instance details

Defined in Data.SOP.Strict

type CollapseTo (NS ∷ (k → Type) → [k] → Type) a = a
type CollapseTo (NS ∷ (k → Type) → [k] → Type) a 
Instance details

Defined in Data.SOP.NS

type CollapseTo (NS ∷ (k → Type) → [k] → Type) a = a
type CollapseTo (SOP ∷ (k → Type) → [[k]] → Type) a 
Instance details

Defined in Data.SOP.NS

type CollapseTo (SOP ∷ (k → Type) → [[k]] → Type) a = [a]
type CollapseTo (NP ∷ (k → Type) → [k] → Type) a 
Instance details

Defined in Data.SOP.NP

type CollapseTo (NP ∷ (k → Type) → [k] → Type) a = [a]
type CollapseTo (POP ∷ (k → Type) → [[k]] → Type) a 
Instance details

Defined in Data.SOP.NP

type CollapseTo (POP ∷ (k → Type) → [[k]] → Type) a = [[a]]
type CollapseTo (SimpleTelescope ∷ (k → Type) → [k] → Type) a Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Util.Telescope

type CollapseTo (SimpleTelescope ∷ (k → Type) → [k] → Type) a = [a]
type CollapseTo HardForkState a Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.State.Instances

class (Prod (Prod h) ~ Prod h, HPure (Prod h)) ⇒ HAp (h ∷ (k → Type) → l → Type) where #

Methods

hap ∷ ∀ (f ∷ k → Type) (g ∷ k → Type) (xs ∷ l). Prod h (f -.-> g) xs → h f xs → h g xs #

Instances

Instances details
HAp (NP ∷ (k → Type) → [k] → Type) Source # 
Instance details

Defined in Data.SOP.Strict

Methods

hap ∷ ∀ (f ∷ k0 → Type) (g ∷ k0 → Type) (xs ∷ l). Prod NP (f -.-> g) xs → NP f xs → NP g xs #

HAp (NS ∷ (k → Type) → [k] → Type) Source # 
Instance details

Defined in Data.SOP.Strict

Methods

hap ∷ ∀ (f ∷ k0 → Type) (g ∷ k0 → Type) (xs ∷ l). Prod NS (f -.-> g) xs → NS f xs → NS g xs #

HAp (SimpleTelescope ∷ (k → Type) → [k] → Type) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Util.Telescope

Methods

hap ∷ ∀ (f ∷ k0 → Type) (g ∷ k0 → Type) (xs ∷ l). Prod SimpleTelescope (f -.-> g) xs → SimpleTelescope f xs → SimpleTelescope g xs #

HAp (NP ∷ (k → Type) → [k] → Type) 
Instance details

Defined in Data.SOP.NP

Methods

hap ∷ ∀ (f ∷ k0 → Type) (g ∷ k0 → Type) (xs ∷ l). Prod NP (f -.-> g) xs → NP f xs → NP g xs #

HAp (SOP ∷ (k → Type) → [[k]] → Type) 
Instance details

Defined in Data.SOP.NS

Methods

hap ∷ ∀ (f ∷ k0 → Type) (g ∷ k0 → Type) (xs ∷ l). Prod SOP (f -.-> g) xs → SOP f xs → SOP g xs #

HAp (NS ∷ (k → Type) → [k] → Type) 
Instance details

Defined in Data.SOP.NS

Methods

hap ∷ ∀ (f ∷ k0 → Type) (g ∷ k0 → Type) (xs ∷ l). Prod NS (f -.-> g) xs → NS f xs → NS g xs #

HAp (POP ∷ (k → Type) → [[k]] → Type) 
Instance details

Defined in Data.SOP.NP

Methods

hap ∷ ∀ (f ∷ k0 → Type) (g ∷ k0 → Type) (xs ∷ l). Prod POP (f -.-> g) xs → POP f xs → POP g xs #

HAp (OptNP empty ∷ (k → Type) → [k] → Type) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.OptNP

Methods

hap ∷ ∀ (f ∷ k0 → Type) (g ∷ k0 → Type) (xs ∷ l). Prod (OptNP empty) (f -.-> g) xs → OptNP empty f xs → OptNP empty g xs #

HAp (Telescope g ∷ (k → Type) → [k] → Type) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Util.Telescope

Methods

hap ∷ ∀ (f ∷ k0 → Type) (g0 ∷ k0 → Type) (xs ∷ l). Prod (Telescope g) (f -.-> g0) xs → Telescope g f xs → Telescope g g0 xs #

HAp (Mismatch f ∷ (k → Type) → [k] → Type) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Util.Match

Methods

hap ∷ ∀ (f0 ∷ k0 → Type) (g ∷ k0 → Type) (xs ∷ l). Prod (Mismatch f) (f0 -.-> g) xs → Mismatch f f0 xs → Mismatch f g xs #

HAp HardForkState Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.State.Instances

Methods

hap ∷ ∀ (f ∷ k → Type) (g ∷ k → Type) (xs ∷ l). Prod HardForkState (f -.-> g) xs → HardForkState f xs → HardForkState g xs #

class UnProd (Prod h) ~ h ⇒ HApInjs (h ∷ (k → Type) → l → Type) where #

Methods

hapInjs ∷ ∀ (xs ∷ l) (f ∷ k → Type). SListIN h xs ⇒ Prod h f xs → [h f xs] #

Instances

Instances details
HApInjs (SOP ∷ (k → Type) → [[k]] → Type) 
Instance details

Defined in Data.SOP.NS

Methods

hapInjs ∷ ∀ (xs ∷ l) (f ∷ k0 → Type). SListIN SOP xs ⇒ Prod SOP f xs → [SOP f xs] #

HApInjs (NS ∷ (k → Type) → [k] → Type) 
Instance details

Defined in Data.SOP.NS

Methods

hapInjs ∷ ∀ (xs ∷ l) (f ∷ k0 → Type). SListIN NS xs ⇒ Prod NS f xs → [NS f xs] #

class HCollapse (h ∷ (k → Type) → l → Type) where #

Methods

hcollapse ∷ ∀ (xs ∷ l) a. SListIN h xs ⇒ h (K a ∷ k → Type) xs → CollapseTo h a #

Instances

Instances details
HCollapse (NP ∷ (k → Type) → [k] → Type) Source # 
Instance details

Defined in Data.SOP.Strict

Methods

hcollapse ∷ ∀ (xs ∷ l) a. SListIN NP xs ⇒ NP (K a) xs → CollapseTo NP a #

HCollapse (NS ∷ (k → Type) → [k] → Type) Source # 
Instance details

Defined in Data.SOP.Strict

Methods

hcollapse ∷ ∀ (xs ∷ l) a. SListIN NS xs ⇒ NS (K a) xs → CollapseTo NS a #

HCollapse (SimpleTelescope ∷ (k → Type) → [k] → Type) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Util.Telescope

Methods

hcollapse ∷ ∀ (xs ∷ l) a. SListIN SimpleTelescope xs ⇒ SimpleTelescope (K a) xs → CollapseTo SimpleTelescope a #

HCollapse (SOP ∷ (k → Type) → [[k]] → Type) 
Instance details

Defined in Data.SOP.NS

Methods

hcollapse ∷ ∀ (xs ∷ l) a. SListIN SOP xs ⇒ SOP (K a) xs → CollapseTo SOP a #

HCollapse (NS ∷ (k → Type) → [k] → Type) 
Instance details

Defined in Data.SOP.NS

Methods

hcollapse ∷ ∀ (xs ∷ l) a. SListIN NS xs ⇒ NS (K a) xs → CollapseTo NS a #

HCollapse (POP ∷ (k → Type) → [[k]] → Type) 
Instance details

Defined in Data.SOP.NP

Methods

hcollapse ∷ ∀ (xs ∷ l) a. SListIN POP xs ⇒ POP (K a) xs → CollapseTo POP a #

HCollapse (NP ∷ (k → Type) → [k] → Type) 
Instance details

Defined in Data.SOP.NP

Methods

hcollapse ∷ ∀ (xs ∷ l) a. SListIN NP xs ⇒ NP (K a) xs → CollapseTo NP a #

HCollapse HardForkState Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.State.Instances

Methods

hcollapse ∷ ∀ (xs ∷ l) a. SListIN HardForkState xs ⇒ HardForkState (K a) xs → CollapseTo HardForkState a #

class HExpand (h ∷ (k → Type) → l → Type) where #

Methods

hexpand ∷ ∀ (xs ∷ l) f. SListIN (Prod h) xs ⇒ (∀ (x ∷ k). f x) → h f xs → Prod h f xs #

hcexpand ∷ ∀ c (xs ∷ l) proxy f. AllN (Prod h) c xs ⇒ proxy c → (∀ (x ∷ k). c x ⇒ f x) → h f xs → Prod h f xs #

Instances

Instances details
HExpand (NS ∷ (k → Type) → [k] → Type) Source # 
Instance details

Defined in Data.SOP.Strict

Methods

hexpand ∷ ∀ (xs ∷ l) f. SListIN (Prod NS) xs ⇒ (∀ (x ∷ k0). f x) → NS f xs → Prod NS f xs #

hcexpand ∷ ∀ c (xs ∷ l) proxy f. AllN (Prod NS) c xs ⇒ proxy c → (∀ (x ∷ k0). c x ⇒ f x) → NS f xs → Prod NS f xs #

HExpand (SOP ∷ (k → Type) → [[k]] → Type) 
Instance details

Defined in Data.SOP.NS

Methods

hexpand ∷ ∀ (xs ∷ l) f. SListIN (Prod SOP) xs ⇒ (∀ (x ∷ k0). f x) → SOP f xs → Prod SOP f xs #

hcexpand ∷ ∀ c (xs ∷ l) proxy f. AllN (Prod SOP) c xs ⇒ proxy c → (∀ (x ∷ k0). c x ⇒ f x) → SOP f xs → Prod SOP f xs #

HExpand (NS ∷ (k → Type) → [k] → Type) 
Instance details

Defined in Data.SOP.NS

Methods

hexpand ∷ ∀ (xs ∷ l) f. SListIN (Prod NS) xs ⇒ (∀ (x ∷ k0). f x) → NS f xs → Prod NS f xs #

hcexpand ∷ ∀ c (xs ∷ l) proxy f. AllN (Prod NS) c xs ⇒ proxy c → (∀ (x ∷ k0). c x ⇒ f x) → NS f xs → Prod NS f xs #

class HIndex (h ∷ (k → Type) → l → Type) where #

Methods

hindex ∷ ∀ (f ∷ k → Type) (xs ∷ l). h f xs → Int #

Instances

Instances details
HIndex (SOP ∷ (k → Type) → [[k]] → Type) 
Instance details

Defined in Data.SOP.NS

Methods

hindex ∷ ∀ (f ∷ k0 → Type) (xs ∷ l). SOP f xs → Int #

HIndex (NS ∷ (k → Type) → [k] → Type) 
Instance details

Defined in Data.SOP.NS

Methods

hindex ∷ ∀ (f ∷ k0 → Type) (xs ∷ l). NS f xs → Int #

class HPure (h ∷ (k → Type) → l → Type) where #

Methods

hpure ∷ ∀ (xs ∷ l) f. SListIN h xs ⇒ (∀ (a ∷ k). f a) → h f xs #

hcpure ∷ ∀ c (xs ∷ l) proxy f. AllN h c xs ⇒ proxy c → (∀ (a ∷ k). c a ⇒ f a) → h f xs #

Instances

Instances details
HPure (NP ∷ (k → Type) → [k] → Type) Source # 
Instance details

Defined in Data.SOP.Strict

Methods

hpure ∷ ∀ (xs ∷ l) f. SListIN NP xs ⇒ (∀ (a ∷ k0). f a) → NP f xs #

hcpure ∷ ∀ c (xs ∷ l) proxy f. AllN NP c xs ⇒ proxy c → (∀ (a ∷ k0). c a ⇒ f a) → NP f xs #

HPure (NP ∷ (k → Type) → [k] → Type) 
Instance details

Defined in Data.SOP.NP

Methods

hpure ∷ ∀ (xs ∷ l) f. SListIN NP xs ⇒ (∀ (a ∷ k0). f a) → NP f xs #

hcpure ∷ ∀ c (xs ∷ l) proxy f. AllN NP c xs ⇒ proxy c → (∀ (a ∷ k0). c a ⇒ f a) → NP f xs #

HPure (POP ∷ (k → Type) → [[k]] → Type) 
Instance details

Defined in Data.SOP.NP

Methods

hpure ∷ ∀ (xs ∷ l) f. SListIN POP xs ⇒ (∀ (a ∷ k0). f a) → POP f xs #

hcpure ∷ ∀ c (xs ∷ l) proxy f. AllN POP c xs ⇒ proxy c → (∀ (a ∷ k0). c a ⇒ f a) → POP f xs #

class HAp h ⇒ HSequence (h ∷ (k → Type) → l → Type) where #

Methods

hsequence' ∷ ∀ (xs ∷ l) f (g ∷ k → Type). (SListIN h xs, Applicative f) ⇒ h (f :.: g) xs → f (h g xs) #

hctraverse' ∷ ∀ c (xs ∷ l) g proxy f f'. (AllN h c xs, Applicative g) ⇒ proxy c → (∀ (a ∷ k). c a ⇒ f a → g (f' a)) → h f xs → g (h f' xs) #

htraverse' ∷ ∀ (xs ∷ l) g f f'. (SListIN h xs, Applicative g) ⇒ (∀ (a ∷ k). f a → g (f' a)) → h f xs → g (h f' xs) #

Instances

Instances details
HSequence (NP ∷ (k → Type) → [k] → Type) Source # 
Instance details

Defined in Data.SOP.Strict

Methods

hsequence' ∷ ∀ (xs ∷ l) f (g ∷ k0 → Type). (SListIN NP xs, Applicative f) ⇒ NP (f :.: g) xs → f (NP g xs) #

hctraverse' ∷ ∀ c (xs ∷ l) g proxy f f'. (AllN NP c xs, Applicative g) ⇒ proxy c → (∀ (a ∷ k0). c a ⇒ f a → g (f' a)) → NP f xs → g (NP f' xs) #

htraverse' ∷ ∀ (xs ∷ l) g f f'. (SListIN NP xs, Applicative g) ⇒ (∀ (a ∷ k0). f a → g (f' a)) → NP f xs → g (NP f' xs) #

HSequence (NS ∷ (k → Type) → [k] → Type) Source # 
Instance details

Defined in Data.SOP.Strict

Methods

hsequence' ∷ ∀ (xs ∷ l) f (g ∷ k0 → Type). (SListIN NS xs, Applicative f) ⇒ NS (f :.: g) xs → f (NS g xs) #

hctraverse' ∷ ∀ c (xs ∷ l) g proxy f f'. (AllN NS c xs, Applicative g) ⇒ proxy c → (∀ (a ∷ k0). c a ⇒ f a → g (f' a)) → NS f xs → g (NS f' xs) #

htraverse' ∷ ∀ (xs ∷ l) g f f'. (SListIN NS xs, Applicative g) ⇒ (∀ (a ∷ k0). f a → g (f' a)) → NS f xs → g (NS f' xs) #

HSequence (SimpleTelescope ∷ (k → Type) → [k] → Type) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Util.Telescope

Methods

hsequence' ∷ ∀ (xs ∷ l) f (g ∷ k0 → Type). (SListIN SimpleTelescope xs, Applicative f) ⇒ SimpleTelescope (f :.: g) xs → f (SimpleTelescope g xs) #

hctraverse' ∷ ∀ c (xs ∷ l) g proxy f f'. (AllN SimpleTelescope c xs, Applicative g) ⇒ proxy c → (∀ (a ∷ k0). c a ⇒ f a → g (f' a)) → SimpleTelescope f xs → g (SimpleTelescope f' xs) #

htraverse' ∷ ∀ (xs ∷ l) g f f'. (SListIN SimpleTelescope xs, Applicative g) ⇒ (∀ (a ∷ k0). f a → g (f' a)) → SimpleTelescope f xs → g (SimpleTelescope f' xs) #

HSequence (SOP ∷ (k → Type) → [[k]] → Type) 
Instance details

Defined in Data.SOP.NS

Methods

hsequence' ∷ ∀ (xs ∷ l) f (g ∷ k0 → Type). (SListIN SOP xs, Applicative f) ⇒ SOP (f :.: g) xs → f (SOP g xs) #

hctraverse' ∷ ∀ c (xs ∷ l) g proxy f f'. (AllN SOP c xs, Applicative g) ⇒ proxy c → (∀ (a ∷ k0). c a ⇒ f a → g (f' a)) → SOP f xs → g (SOP f' xs) #

htraverse' ∷ ∀ (xs ∷ l) g f f'. (SListIN SOP xs, Applicative g) ⇒ (∀ (a ∷ k0). f a → g (f' a)) → SOP f xs → g (SOP f' xs) #

HSequence (NS ∷ (k → Type) → [k] → Type) 
Instance details

Defined in Data.SOP.NS

Methods

hsequence' ∷ ∀ (xs ∷ l) f (g ∷ k0 → Type). (SListIN NS xs, Applicative f) ⇒ NS (f :.: g) xs → f (NS g xs) #

hctraverse' ∷ ∀ c (xs ∷ l) g proxy f f'. (AllN NS c xs, Applicative g) ⇒ proxy c → (∀ (a ∷ k0). c a ⇒ f a → g (f' a)) → NS f xs → g (NS f' xs) #

htraverse' ∷ ∀ (xs ∷ l) g f f'. (SListIN NS xs, Applicative g) ⇒ (∀ (a ∷ k0). f a → g (f' a)) → NS f xs → g (NS f' xs) #

HSequence (POP ∷ (k → Type) → [[k]] → Type) 
Instance details

Defined in Data.SOP.NP

Methods

hsequence' ∷ ∀ (xs ∷ l) f (g ∷ k0 → Type). (SListIN POP xs, Applicative f) ⇒ POP (f :.: g) xs → f (POP g xs) #

hctraverse' ∷ ∀ c (xs ∷ l) g proxy f f'. (AllN POP c xs, Applicative g) ⇒ proxy c → (∀ (a ∷ k0). c a ⇒ f a → g (f' a)) → POP f xs → g (POP f' xs) #

htraverse' ∷ ∀ (xs ∷ l) g f f'. (SListIN POP xs, Applicative g) ⇒ (∀ (a ∷ k0). f a → g (f' a)) → POP f xs → g (POP f' xs) #

HSequence (NP ∷ (k → Type) → [k] → Type) 
Instance details

Defined in Data.SOP.NP

Methods

hsequence' ∷ ∀ (xs ∷ l) f (g ∷ k0 → Type). (SListIN NP xs, Applicative f) ⇒ NP (f :.: g) xs → f (NP g xs) #

hctraverse' ∷ ∀ c (xs ∷ l) g proxy f f'. (AllN NP c xs, Applicative g) ⇒ proxy c → (∀ (a ∷ k0). c a ⇒ f a → g (f' a)) → NP f xs → g (NP f' xs) #

htraverse' ∷ ∀ (xs ∷ l) g f f'. (SListIN NP xs, Applicative g) ⇒ (∀ (a ∷ k0). f a → g (f' a)) → NP f xs → g (NP f' xs) #

HSequence (OptNP empty ∷ (k → Type) → [k] → Type) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.OptNP

Methods

hsequence' ∷ ∀ (xs ∷ l) f (g ∷ k0 → Type). (SListIN (OptNP empty) xs, Applicative f) ⇒ OptNP empty (f :.: g) xs → f (OptNP empty g xs) #

hctraverse' ∷ ∀ c (xs ∷ l) g proxy f f'. (AllN (OptNP empty) c xs, Applicative g) ⇒ proxy c → (∀ (a ∷ k0). c a ⇒ f a → g (f' a)) → OptNP empty f xs → g (OptNP empty f' xs) #

htraverse' ∷ ∀ (xs ∷ l) g f f'. (SListIN (OptNP empty) xs, Applicative g) ⇒ (∀ (a ∷ k0). f a → g (f' a)) → OptNP empty f xs → g (OptNP empty f' xs) #

HSequence (Telescope g ∷ (k → Type) → [k] → Type) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Util.Telescope

Methods

hsequence' ∷ ∀ (xs ∷ l) f (g0 ∷ k0 → Type). (SListIN (Telescope g) xs, Applicative f) ⇒ Telescope g (f :.: g0) xs → f (Telescope g g0 xs) #

hctraverse' ∷ ∀ c (xs ∷ l) g0 proxy f f'. (AllN (Telescope g) c xs, Applicative g0) ⇒ proxy c → (∀ (a ∷ k0). c a ⇒ f a → g0 (f' a)) → Telescope g f xs → g0 (Telescope g f' xs) #

htraverse' ∷ ∀ (xs ∷ l) g0 f f'. (SListIN (Telescope g) xs, Applicative g0) ⇒ (∀ (a ∷ k0). f a → g0 (f' a)) → Telescope g f xs → g0 (Telescope g f' xs) #

HSequence HardForkState Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.State.Instances

Methods

hsequence' ∷ ∀ (xs ∷ l) f (g ∷ k → Type). (SListIN HardForkState xs, Applicative f) ⇒ HardForkState (f :.: g) xs → f (HardForkState g xs) #

hctraverse' ∷ ∀ c (xs ∷ l) g proxy f f'. (AllN HardForkState c xs, Applicative g) ⇒ proxy c → (∀ (a ∷ k). c a ⇒ f a → g (f' a)) → HardForkState f xs → g (HardForkState f' xs) #

htraverse' ∷ ∀ (xs ∷ l) g f f'. (SListIN HardForkState xs, Applicative g) ⇒ (∀ (a ∷ k). f a → g (f' a)) → HardForkState f xs → g (HardForkState f' xs) #

class ((Same h1 ∷ (k2 → Type) → l2 → Type) ~ h2, (Same h2 ∷ (k1 → Type) → l1 → Type) ~ h1) ⇒ HTrans (h1 ∷ (k1 → Type) → l1 → Type) (h2 ∷ (k2 → Type) → l2 → Type) where #

Methods

htrans ∷ ∀ c (xs ∷ l1) (ys ∷ l2) proxy f g. AllZipN (Prod h1) c xs ys ⇒ proxy c → (∀ (x ∷ k1) (y ∷ k2). c x y ⇒ f x → g y) → h1 f xs → h2 g ys #

hcoerce ∷ ∀ (f ∷ k1 → Type) (g ∷ k2 → Type) (xs ∷ l1) (ys ∷ l2). AllZipN (Prod h1) (LiftedCoercible f g) xs ys ⇒ h1 f xs → h2 g ys #

Instances

Instances details
HTrans (NP ∷ (k1 → Type) → [k1] → Type) (NP ∷ (k2 → Type) → [k2] → Type) Source # 
Instance details

Defined in Data.SOP.Strict

Methods

htrans ∷ ∀ c (xs ∷ l1) (ys ∷ l2) proxy f g. AllZipN (Prod NP) c xs ys ⇒ proxy c → (∀ (x ∷ k10) (y ∷ k20). c x y ⇒ f x → g y) → NP f xs → NP g ys #

hcoerce ∷ ∀ (f ∷ k10 → Type) (g ∷ k20 → Type) (xs ∷ l1) (ys ∷ l2). AllZipN (Prod NP) (LiftedCoercible f g) xs ys ⇒ NP f xs → NP g ys #

HTrans (NS ∷ (k1 → Type) → [k1] → Type) (NS ∷ (k2 → Type) → [k2] → Type) Source # 
Instance details

Defined in Data.SOP.Strict

Methods

htrans ∷ ∀ c (xs ∷ l1) (ys ∷ l2) proxy f g. AllZipN (Prod NS) c xs ys ⇒ proxy c → (∀ (x ∷ k10) (y ∷ k20). c x y ⇒ f x → g y) → NS f xs → NS g ys #

hcoerce ∷ ∀ (f ∷ k10 → Type) (g ∷ k20 → Type) (xs ∷ l1) (ys ∷ l2). AllZipN (Prod NS) (LiftedCoercible f g) xs ys ⇒ NS f xs → NS g ys #

HTrans (SOP ∷ (k1 → Type) → [[k1]] → Type) (SOP ∷ (k2 → Type) → [[k2]] → Type) 
Instance details

Defined in Data.SOP.NS

Methods

htrans ∷ ∀ c (xs ∷ l1) (ys ∷ l2) proxy f g. AllZipN (Prod SOP) c xs ys ⇒ proxy c → (∀ (x ∷ k10) (y ∷ k20). c x y ⇒ f x → g y) → SOP f xs → SOP g ys #

hcoerce ∷ ∀ (f ∷ k10 → Type) (g ∷ k20 → Type) (xs ∷ l1) (ys ∷ l2). AllZipN (Prod SOP) (LiftedCoercible f g) xs ys ⇒ SOP f xs → SOP g ys #

HTrans (NS ∷ (k1 → Type) → [k1] → Type) (NS ∷ (k2 → Type) → [k2] → Type) 
Instance details

Defined in Data.SOP.NS

Methods

htrans ∷ ∀ c (xs ∷ l1) (ys ∷ l2) proxy f g. AllZipN (Prod NS) c xs ys ⇒ proxy c → (∀ (x ∷ k10) (y ∷ k20). c x y ⇒ f x → g y) → NS f xs → NS g ys #

hcoerce ∷ ∀ (f ∷ k10 → Type) (g ∷ k20 → Type) (xs ∷ l1) (ys ∷ l2). AllZipN (Prod NS) (LiftedCoercible f g) xs ys ⇒ NS f xs → NS g ys #

HTrans (POP ∷ (k1 → Type) → [[k1]] → Type) (POP ∷ (k2 → Type) → [[k2]] → Type) 
Instance details

Defined in Data.SOP.NP

Methods

htrans ∷ ∀ c (xs ∷ l1) (ys ∷ l2) proxy f g. AllZipN (Prod POP) c xs ys ⇒ proxy c → (∀ (x ∷ k10) (y ∷ k20). c x y ⇒ f x → g y) → POP f xs → POP g ys #

hcoerce ∷ ∀ (f ∷ k10 → Type) (g ∷ k20 → Type) (xs ∷ l1) (ys ∷ l2). AllZipN (Prod POP) (LiftedCoercible f g) xs ys ⇒ POP f xs → POP g ys #

HTrans (NP ∷ (k1 → Type) → [k1] → Type) (NP ∷ (k2 → Type) → [k2] → Type) 
Instance details

Defined in Data.SOP.NP

Methods

htrans ∷ ∀ c (xs ∷ l1) (ys ∷ l2) proxy f g. AllZipN (Prod NP) c xs ys ⇒ proxy c → (∀ (x ∷ k10) (y ∷ k20). c x y ⇒ f x → g y) → NP f xs → NP g ys #

hcoerce ∷ ∀ (f ∷ k10 → Type) (g ∷ k20 → Type) (xs ∷ l1) (ys ∷ l2). AllZipN (Prod NP) (LiftedCoercible f g) xs ys ⇒ NP f xs → NP g ys #

class HTraverse_ (h ∷ (k → Type) → l → Type) where #

Methods

hctraverse_ ∷ ∀ c (xs ∷ l) g proxy f. (AllN h c xs, Applicative g) ⇒ proxy c → (∀ (a ∷ k). c a ⇒ f a → g ()) → h f xs → g () #

htraverse_ ∷ ∀ (xs ∷ l) g f. (SListIN h xs, Applicative g) ⇒ (∀ (a ∷ k). f a → g ()) → h f xs → g () #

Instances

Instances details
HTraverse_ (NP ∷ (k → Type) → [k] → Type) Source # 
Instance details

Defined in Data.SOP.Strict

Methods

hctraverse_ ∷ ∀ c (xs ∷ l) g proxy f. (AllN NP c xs, Applicative g) ⇒ proxy c → (∀ (a ∷ k0). c a ⇒ f a → g ()) → NP f xs → g () #

htraverse_ ∷ ∀ (xs ∷ l) g f. (SListIN NP xs, Applicative g) ⇒ (∀ (a ∷ k0). f a → g ()) → NP f xs → g () #

HTraverse_ (SimpleTelescope ∷ (k → Type) → [k] → Type) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Util.Telescope

Methods

hctraverse_ ∷ ∀ c (xs ∷ l) g proxy f. (AllN SimpleTelescope c xs, Applicative g) ⇒ proxy c → (∀ (a ∷ k0). c a ⇒ f a → g ()) → SimpleTelescope f xs → g () #

htraverse_ ∷ ∀ (xs ∷ l) g f. (SListIN SimpleTelescope xs, Applicative g) ⇒ (∀ (a ∷ k0). f a → g ()) → SimpleTelescope f xs → g () #

HTraverse_ (SOP ∷ (k → Type) → [[k]] → Type) 
Instance details

Defined in Data.SOP.NS

Methods

hctraverse_ ∷ ∀ c (xs ∷ l) g proxy f. (AllN SOP c xs, Applicative g) ⇒ proxy c → (∀ (a ∷ k0). c a ⇒ f a → g ()) → SOP f xs → g () #

htraverse_ ∷ ∀ (xs ∷ l) g f. (SListIN SOP xs, Applicative g) ⇒ (∀ (a ∷ k0). f a → g ()) → SOP f xs → g () #

HTraverse_ (NS ∷ (k → Type) → [k] → Type) 
Instance details

Defined in Data.SOP.NS

Methods

hctraverse_ ∷ ∀ c (xs ∷ l) g proxy f. (AllN NS c xs, Applicative g) ⇒ proxy c → (∀ (a ∷ k0). c a ⇒ f a → g ()) → NS f xs → g () #

htraverse_ ∷ ∀ (xs ∷ l) g f. (SListIN NS xs, Applicative g) ⇒ (∀ (a ∷ k0). f a → g ()) → NS f xs → g () #

HTraverse_ (POP ∷ (k → Type) → [[k]] → Type) 
Instance details

Defined in Data.SOP.NP

Methods

hctraverse_ ∷ ∀ c (xs ∷ l) g proxy f. (AllN POP c xs, Applicative g) ⇒ proxy c → (∀ (a ∷ k0). c a ⇒ f a → g ()) → POP f xs → g () #

htraverse_ ∷ ∀ (xs ∷ l) g f. (SListIN POP xs, Applicative g) ⇒ (∀ (a ∷ k0). f a → g ()) → POP f xs → g () #

HTraverse_ (NP ∷ (k → Type) → [k] → Type) 
Instance details

Defined in Data.SOP.NP

Methods

hctraverse_ ∷ ∀ c (xs ∷ l) g proxy f. (AllN NP c xs, Applicative g) ⇒ proxy c → (∀ (a ∷ k0). c a ⇒ f a → g ()) → NP f xs → g () #

htraverse_ ∷ ∀ (xs ∷ l) g f. (SListIN NP xs, Applicative g) ⇒ (∀ (a ∷ k0). f a → g ()) → NP f xs → g () #

HTraverse_ (Telescope g ∷ (k → Type) → [k] → Type) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Util.Telescope

Methods

hctraverse_ ∷ ∀ c (xs ∷ l) g0 proxy f. (AllN (Telescope g) c xs, Applicative g0) ⇒ proxy c → (∀ (a ∷ k0). c a ⇒ f a → g0 ()) → Telescope g f xs → g0 () #

htraverse_ ∷ ∀ (xs ∷ l) g0 f. (SListIN (Telescope g) xs, Applicative g0) ⇒ (∀ (a ∷ k0). f a → g0 ()) → Telescope g f xs → g0 () #

type family Prod (h ∷ (k → Type) → l → Type) ∷ (k → Type) → l → Type #

Instances

Instances details
type Prod (NP ∷ (k → Type) → [k] → Type) Source # 
Instance details

Defined in Data.SOP.Strict

type Prod (NP ∷ (k → Type) → [k] → Type) = NP ∷ (k → Type) → [k] → Type
type Prod (NS ∷ (k → Type) → [k] → Type) Source # 
Instance details

Defined in Data.SOP.Strict

type Prod (NS ∷ (k → Type) → [k] → Type) = NP ∷ (k → Type) → [k] → Type
type Prod (NS ∷ (k → Type) → [k] → Type) 
Instance details

Defined in Data.SOP.NS

type Prod (NS ∷ (k → Type) → [k] → Type) = NP ∷ (k → Type) → [k] → Type
type Prod (SOP ∷ (k → Type) → [[k]] → Type) 
Instance details

Defined in Data.SOP.NS

type Prod (SOP ∷ (k → Type) → [[k]] → Type) = POP ∷ (k → Type) → [[k]] → Type
type Prod (NP ∷ (k → Type) → [k] → Type) 
Instance details

Defined in Data.SOP.NP

type Prod (NP ∷ (k → Type) → [k] → Type) = NP ∷ (k → Type) → [k] → Type
type Prod (POP ∷ (k → Type) → [[k]] → Type) 
Instance details

Defined in Data.SOP.NP

type Prod (POP ∷ (k → Type) → [[k]] → Type) = POP ∷ (k → Type) → [[k]] → Type
type Prod (SimpleTelescope ∷ (k → Type) → [k] → Type) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Util.Telescope

type Prod (SimpleTelescope ∷ (k → Type) → [k] → Type) = NP ∷ (k → Type) → [k] → Type
type Prod (OptNP empty ∷ (k → Type) → [k] → Type) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.OptNP

type Prod (OptNP empty ∷ (k → Type) → [k] → Type) = NP ∷ (k → Type) → [k] → Type
type Prod (Telescope g ∷ (k → Type) → [k] → Type) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Util.Telescope

type Prod (Telescope g ∷ (k → Type) → [k] → Type) = NP ∷ (k → Type) → [k] → Type
type Prod (Mismatch f ∷ (k → Type) → [k] → Type) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Util.Match

type Prod (Mismatch f ∷ (k → Type) → [k] → Type) = NP ∷ (k → Type) → [k] → Type
type Prod HardForkState Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.State.Instances

type Prod HardForkState = NP ∷ (TypeType) → [Type] → Type

type family UnProd (h ∷ (k → Type) → l → Type) ∷ (k → Type) → l → Type #

Instances

Instances details
type UnProd (NP ∷ (k → Type) → [k] → Type) 
Instance details

Defined in Data.SOP.NS

type UnProd (NP ∷ (k → Type) → [k] → Type) = NS ∷ (k → Type) → [k] → Type
type UnProd (POP ∷ (k → Type) → [[k]] → Type) 
Instance details

Defined in Data.SOP.NS

type UnProd (POP ∷ (k → Type) → [[k]] → Type) = SOP ∷ (k → Type) → [[k]] → Type

class (AllF c xs, SListI xs) ⇒ All (c ∷ k → Constraint) (xs ∷ [k]) where #

Methods

cpara_SList ∷ proxy c → r ('[] ∷ [k]) → (∀ (y ∷ k) (ys ∷ [k]). (c y, All c ys) ⇒ r ys → r (y ': ys)) → r xs #

Instances

Instances details
All (c ∷ k → Constraint) ('[] ∷ [k]) 
Instance details

Defined in Data.SOP.Constraint

Methods

cpara_SList ∷ proxy c → r '[] → (∀ (y ∷ k0) (ys ∷ [k0]). (c y, All c ys) ⇒ r ys → r (y ': ys)) → r '[] #

(c x, All c xs) ⇒ All (c ∷ a → Constraint) (x ': xs ∷ [a]) 
Instance details

Defined in Data.SOP.Constraint

Methods

cpara_SList ∷ proxy c → r '[] → (∀ (y ∷ k) (ys ∷ [k]). (c y, All c ys) ⇒ r ys → r (y ': ys)) → r (x ': xs) #

type All2 (c ∷ k → Constraint) = All (All c) #

type family AllN (h ∷ (k → Type) → l → Type) (c ∷ k → Constraint) ∷ l → Constraint #

Instances

Instances details
type AllN (NP ∷ (k → Type) → [k] → Type) (c ∷ k → Constraint) Source # 
Instance details

Defined in Data.SOP.Strict

type AllN (NP ∷ (k → Type) → [k] → Type) (c ∷ k → Constraint) = All c
type AllN (NS ∷ (k → Type) → [k] → Type) (c ∷ k → Constraint) Source # 
Instance details

Defined in Data.SOP.Strict

type AllN (NS ∷ (k → Type) → [k] → Type) (c ∷ k → Constraint) = All c
type AllN (NS ∷ (k → Type) → [k] → Type) (c ∷ k → Constraint) 
Instance details

Defined in Data.SOP.NS

type AllN (NS ∷ (k → Type) → [k] → Type) (c ∷ k → Constraint) = All c
type AllN (SOP ∷ (k → Type) → [[k]] → Type) (c ∷ k → Constraint) 
Instance details

Defined in Data.SOP.NS

type AllN (SOP ∷ (k → Type) → [[k]] → Type) (c ∷ k → Constraint) = All2 c
type AllN (NP ∷ (k → Type) → [k] → Type) (c ∷ k → Constraint) 
Instance details

Defined in Data.SOP.NP

type AllN (NP ∷ (k → Type) → [k] → Type) (c ∷ k → Constraint) = All c
type AllN (POP ∷ (k → Type) → [[k]] → Type) (c ∷ k → Constraint) 
Instance details

Defined in Data.SOP.NP

type AllN (POP ∷ (k → Type) → [[k]] → Type) (c ∷ k → Constraint) = All2 c
type AllN (SimpleTelescope ∷ (k → Type) → [k] → Type) (c ∷ k → Constraint) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Util.Telescope

type AllN (SimpleTelescope ∷ (k → Type) → [k] → Type) (c ∷ k → Constraint) = All c
type AllN (OptNP empty ∷ (k → Type) → [k] → Type) (c ∷ k → Constraint) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.OptNP

type AllN (OptNP empty ∷ (k → Type) → [k] → Type) (c ∷ k → Constraint) = All c
type AllN (Telescope g ∷ (k → Type) → [k] → Type) (c ∷ k → Constraint) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Util.Telescope

type AllN (Telescope g ∷ (k → Type) → [k] → Type) (c ∷ k → Constraint) = All c
type AllN (Mismatch f ∷ (k → Type) → [k] → Type) (c ∷ k → Constraint) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Util.Match

type AllN (Mismatch f ∷ (k → Type) → [k] → Type) (c ∷ k → Constraint) = All c
type AllN HardForkState (c ∷ TypeConstraint) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.State.Instances

type AllN HardForkState (c ∷ TypeConstraint) = All c

class (SListI xs, SListI ys, SameShapeAs xs ys, SameShapeAs ys xs, AllZipF c xs ys) ⇒ AllZip (c ∷ a → b → Constraint) (xs ∷ [a]) (ys ∷ [b]) #

Instances

Instances details
(SListI xs, SListI ys, SameShapeAs xs ys, SameShapeAs ys xs, AllZipF c xs ys) ⇒ AllZip (c ∷ a → b → Constraint) (xs ∷ [a]) (ys ∷ [b]) 
Instance details

Defined in Data.SOP.Constraint

class (AllZipF (AllZip f) xss yss, SListI xss, SListI yss, SameShapeAs xss yss, SameShapeAs yss xss) ⇒ AllZip2 (f ∷ a → b → Constraint) (xss ∷ [[a]]) (yss ∷ [[b]]) #

Instances

Instances details
(AllZipF (AllZip f) xss yss, SListI xss, SListI yss, SameShapeAs xss yss, SameShapeAs yss xss) ⇒ AllZip2 (f ∷ a → b → Constraint) (xss ∷ [[a]]) (yss ∷ [[b]]) 
Instance details

Defined in Data.SOP.Constraint

type family AllZipN (h ∷ (k → Type) → l → Type) (c ∷ k1 → k2 → Constraint) ∷ l1 → l2 → Constraint #

Instances

Instances details
type AllZipN (NP ∷ (k → Type) → [k] → Type) (c ∷ a → b → Constraint) Source # 
Instance details

Defined in Data.SOP.Strict

type AllZipN (NP ∷ (k → Type) → [k] → Type) (c ∷ a → b → Constraint) = AllZip c
type AllZipN (NP ∷ (k → Type) → [k] → Type) (c ∷ a → b → Constraint) 
Instance details

Defined in Data.SOP.NP

type AllZipN (NP ∷ (k → Type) → [k] → Type) (c ∷ a → b → Constraint) = AllZip c
type AllZipN (POP ∷ (k → Type) → [[k]] → Type) (c ∷ a → b → Constraint) 
Instance details

Defined in Data.SOP.NP

type AllZipN (POP ∷ (k → Type) → [[k]] → Type) (c ∷ a → b → Constraint) = AllZip2 c

class (f x, g x) ⇒ And (f ∷ k → Constraint) (g ∷ k → Constraint) (x ∷ k) #

Instances

Instances details
(f x, g x) ⇒ And (f ∷ k → Constraint) (g ∷ k → Constraint) (x ∷ k) 
Instance details

Defined in Data.SOP.Constraint

class f (g x) ⇒ Compose (f ∷ k → Constraint) (g ∷ k1 → k) (x ∷ k1) #

Instances

Instances details
f (g x) ⇒ Compose (f ∷ k1 → Constraint) (g ∷ k2 → k1) (x ∷ k2) 
Instance details

Defined in Data.SOP.Constraint

class Coercible (f x) (g y) ⇒ LiftedCoercible (f ∷ k → k1) (g ∷ k2 → k1) (x ∷ k) (y ∷ k2) #

Instances

Instances details
Coercible (f x) (g y) ⇒ LiftedCoercible (f ∷ k1 → k2) (g ∷ k3 → k2) (x ∷ k1) (y ∷ k3) 
Instance details

Defined in Data.SOP.Constraint

type SListI = All (Top ∷ k → Constraint) #

type SListI2 = All (SListI ∷ [k] → Constraint) #

type family SameShapeAs (xs ∷ [a]) (ys ∷ [b]) where ... #

Equations

SameShapeAs ('[] ∷ [a]) (ys ∷ [b]) = ys ~ ('[] ∷ [b]) 
SameShapeAs (x ': xs ∷ [a1]) (ys ∷ [a2]) = ys ~ (Head ys ': Tail ys) 

class Top (x ∷ k) #

Instances

Instances details
Top (x ∷ k) 
Instance details

Defined in Data.SOP.Constraint

newtype POP (f ∷ k → Type) (xss ∷ [[k]]) #

Constructors

POP (NP (NP f) xss) 

Instances

Instances details
HTrans (POP ∷ (k1 → Type) → [[k1]] → Type) (POP ∷ (k2 → Type) → [[k2]] → Type) 
Instance details

Defined in Data.SOP.NP

Methods

htrans ∷ ∀ c (xs ∷ l1) (ys ∷ l2) proxy f g. AllZipN (Prod POP) c xs ys ⇒ proxy c → (∀ (x ∷ k10) (y ∷ k20). c x y ⇒ f x → g y) → POP f xs → POP g ys #

hcoerce ∷ ∀ (f ∷ k10 → Type) (g ∷ k20 → Type) (xs ∷ l1) (ys ∷ l2). AllZipN (Prod POP) (LiftedCoercible f g) xs ys ⇒ POP f xs → POP g ys #

HAp (POP ∷ (k → Type) → [[k]] → Type) 
Instance details

Defined in Data.SOP.NP

Methods

hap ∷ ∀ (f ∷ k0 → Type) (g ∷ k0 → Type) (xs ∷ l). Prod POP (f -.-> g) xs → POP f xs → POP g xs #

HCollapse (POP ∷ (k → Type) → [[k]] → Type) 
Instance details

Defined in Data.SOP.NP

Methods

hcollapse ∷ ∀ (xs ∷ l) a. SListIN POP xs ⇒ POP (K a) xs → CollapseTo POP a #

HPure (POP ∷ (k → Type) → [[k]] → Type) 
Instance details

Defined in Data.SOP.NP

Methods

hpure ∷ ∀ (xs ∷ l) f. SListIN POP xs ⇒ (∀ (a ∷ k0). f a) → POP f xs #

hcpure ∷ ∀ c (xs ∷ l) proxy f. AllN POP c xs ⇒ proxy c → (∀ (a ∷ k0). c a ⇒ f a) → POP f xs #

HSequence (POP ∷ (k → Type) → [[k]] → Type) 
Instance details

Defined in Data.SOP.NP

Methods

hsequence' ∷ ∀ (xs ∷ l) f (g ∷ k0 → Type). (SListIN POP xs, Applicative f) ⇒ POP (f :.: g) xs → f (POP g xs) #

hctraverse' ∷ ∀ c (xs ∷ l) g proxy f f'. (AllN POP c xs, Applicative g) ⇒ proxy c → (∀ (a ∷ k0). c a ⇒ f a → g (f' a)) → POP f xs → g (POP f' xs) #

htraverse' ∷ ∀ (xs ∷ l) g f f'. (SListIN POP xs, Applicative g) ⇒ (∀ (a ∷ k0). f a → g (f' a)) → POP f xs → g (POP f' xs) #

HTraverse_ (POP ∷ (k → Type) → [[k]] → Type) 
Instance details

Defined in Data.SOP.NP

Methods

hctraverse_ ∷ ∀ c (xs ∷ l) g proxy f. (AllN POP c xs, Applicative g) ⇒ proxy c → (∀ (a ∷ k0). c a ⇒ f a → g ()) → POP f xs → g () #

htraverse_ ∷ ∀ (xs ∷ l) g f. (SListIN POP xs, Applicative g) ⇒ (∀ (a ∷ k0). f a → g ()) → POP f xs → g () #

Eq (NP (NP f) xss) ⇒ Eq (POP f xss) 
Instance details

Defined in Data.SOP.NP

Methods

(==)POP f xss → POP f xss → Bool Source #

(/=)POP f xss → POP f xss → Bool Source #

Ord (NP (NP f) xss) ⇒ Ord (POP f xss) 
Instance details

Defined in Data.SOP.NP

Methods

comparePOP f xss → POP f xss → Ordering Source #

(<)POP f xss → POP f xss → Bool Source #

(<=)POP f xss → POP f xss → Bool Source #

(>)POP f xss → POP f xss → Bool Source #

(>=)POP f xss → POP f xss → Bool Source #

maxPOP f xss → POP f xss → POP f xss Source #

minPOP f xss → POP f xss → POP f xss Source #

Show (NP (NP f) xss) ⇒ Show (POP f xss) 
Instance details

Defined in Data.SOP.NP

Methods

showsPrecIntPOP f xss → ShowS Source #

showPOP f xss → String Source #

showList ∷ [POP f xss] → ShowS Source #

Semigroup (NP (NP f) xss) ⇒ Semigroup (POP f xss) 
Instance details

Defined in Data.SOP.NP

Methods

(<>)POP f xss → POP f xss → POP f xss Source #

sconcatNonEmpty (POP f xss) → POP f xss Source #

stimesIntegral b ⇒ b → POP f xss → POP f xss Source #

Monoid (NP (NP f) xss) ⇒ Monoid (POP f xss) 
Instance details

Defined in Data.SOP.NP

Methods

memptyPOP f xss Source #

mappendPOP f xss → POP f xss → POP f xss Source #

mconcat ∷ [POP f xss] → POP f xss Source #

NFData (NP (NP f) xss) ⇒ NFData (POP f xss) 
Instance details

Defined in Data.SOP.NP

Methods

rnfPOP f xss → () Source #

type AllZipN (POP ∷ (k → Type) → [[k]] → Type) (c ∷ a → b → Constraint) 
Instance details

Defined in Data.SOP.NP

type AllZipN (POP ∷ (k → Type) → [[k]] → Type) (c ∷ a → b → Constraint) = AllZip2 c
type Same (POP ∷ (k1 → Type) → [[k1]] → Type) 
Instance details

Defined in Data.SOP.NP

type Same (POP ∷ (k1 → Type) → [[k1]] → Type) = POP ∷ (k2 → Type) → [[k2]] → Type
type Prod (POP ∷ (k → Type) → [[k]] → Type) 
Instance details

Defined in Data.SOP.NP

type Prod (POP ∷ (k → Type) → [[k]] → Type) = POP ∷ (k → Type) → [[k]] → Type
type UnProd (POP ∷ (k → Type) → [[k]] → Type) 
Instance details

Defined in Data.SOP.NS

type UnProd (POP ∷ (k → Type) → [[k]] → Type) = SOP ∷ (k → Type) → [[k]] → Type
type SListIN (POP ∷ (k → Type) → [[k]] → Type) 
Instance details

Defined in Data.SOP.NP

type SListIN (POP ∷ (k → Type) → [[k]] → Type) = SListI2 ∷ [[k]] → Constraint
type CollapseTo (POP ∷ (k → Type) → [[k]] → Type) a 
Instance details

Defined in Data.SOP.NP

type CollapseTo (POP ∷ (k → Type) → [[k]] → Type) a = [[a]]
type AllN (POP ∷ (k → Type) → [[k]] → Type) (c ∷ k → Constraint) 
Instance details

Defined in Data.SOP.NP

type AllN (POP ∷ (k → Type) → [[k]] → Type) (c ∷ k → Constraint) = All2 c

type Projection (f ∷ k → Type) (xs ∷ [k]) = (K (NP f xs) ∷ k → Type) -.-> f #

newtype SOP (f ∷ k → Type) (xss ∷ [[k]]) #

Constructors

SOP (NS (NP f) xss) 

Instances

Instances details
HTrans (SOP ∷ (k1 → Type) → [[k1]] → Type) (SOP ∷ (k2 → Type) → [[k2]] → Type) 
Instance details

Defined in Data.SOP.NS

Methods

htrans ∷ ∀ c (xs ∷ l1) (ys ∷ l2) proxy f g. AllZipN (Prod SOP) c xs ys ⇒ proxy c → (∀ (x ∷ k10) (y ∷ k20). c x y ⇒ f x → g y) → SOP f xs → SOP g ys #

hcoerce ∷ ∀ (f ∷ k10 → Type) (g ∷ k20 → Type) (xs ∷ l1) (ys ∷ l2). AllZipN (Prod SOP) (LiftedCoercible f g) xs ys ⇒ SOP f xs → SOP g ys #

HAp (SOP ∷ (k → Type) → [[k]] → Type) 
Instance details

Defined in Data.SOP.NS

Methods

hap ∷ ∀ (f ∷ k0 → Type) (g ∷ k0 → Type) (xs ∷ l). Prod SOP (f -.-> g) xs → SOP f xs → SOP g xs #

HApInjs (SOP ∷ (k → Type) → [[k]] → Type) 
Instance details

Defined in Data.SOP.NS

Methods

hapInjs ∷ ∀ (xs ∷ l) (f ∷ k0 → Type). SListIN SOP xs ⇒ Prod SOP f xs → [SOP f xs] #

HCollapse (SOP ∷ (k → Type) → [[k]] → Type) 
Instance details

Defined in Data.SOP.NS

Methods

hcollapse ∷ ∀ (xs ∷ l) a. SListIN SOP xs ⇒ SOP (K a) xs → CollapseTo SOP a #

HExpand (SOP ∷ (k → Type) → [[k]] → Type) 
Instance details

Defined in Data.SOP.NS

Methods

hexpand ∷ ∀ (xs ∷ l) f. SListIN (Prod SOP) xs ⇒ (∀ (x ∷ k0). f x) → SOP f xs → Prod SOP f xs #

hcexpand ∷ ∀ c (xs ∷ l) proxy f. AllN (Prod SOP) c xs ⇒ proxy c → (∀ (x ∷ k0). c x ⇒ f x) → SOP f xs → Prod SOP f xs #

HIndex (SOP ∷ (k → Type) → [[k]] → Type) 
Instance details

Defined in Data.SOP.NS

Methods

hindex ∷ ∀ (f ∷ k0 → Type) (xs ∷ l). SOP f xs → Int #

HSequence (SOP ∷ (k → Type) → [[k]] → Type) 
Instance details

Defined in Data.SOP.NS

Methods

hsequence' ∷ ∀ (xs ∷ l) f (g ∷ k0 → Type). (SListIN SOP xs, Applicative f) ⇒ SOP (f :.: g) xs → f (SOP g xs) #

hctraverse' ∷ ∀ c (xs ∷ l) g proxy f f'. (AllN SOP c xs, Applicative g) ⇒ proxy c → (∀ (a ∷ k0). c a ⇒ f a → g (f' a)) → SOP f xs → g (SOP f' xs) #

htraverse' ∷ ∀ (xs ∷ l) g f f'. (SListIN SOP xs, Applicative g) ⇒ (∀ (a ∷ k0). f a → g (f' a)) → SOP f xs → g (SOP f' xs) #

HTraverse_ (SOP ∷ (k → Type) → [[k]] → Type) 
Instance details

Defined in Data.SOP.NS

Methods

hctraverse_ ∷ ∀ c (xs ∷ l) g proxy f. (AllN SOP c xs, Applicative g) ⇒ proxy c → (∀ (a ∷ k0). c a ⇒ f a → g ()) → SOP f xs → g () #

htraverse_ ∷ ∀ (xs ∷ l) g f. (SListIN SOP xs, Applicative g) ⇒ (∀ (a ∷ k0). f a → g ()) → SOP f xs → g () #

Eq (NS (NP f) xss) ⇒ Eq (SOP f xss) 
Instance details

Defined in Data.SOP.NS

Methods

(==)SOP f xss → SOP f xss → Bool Source #

(/=)SOP f xss → SOP f xss → Bool Source #

Ord (NS (NP f) xss) ⇒ Ord (SOP f xss) 
Instance details

Defined in Data.SOP.NS

Methods

compareSOP f xss → SOP f xss → Ordering Source #

(<)SOP f xss → SOP f xss → Bool Source #

(<=)SOP f xss → SOP f xss → Bool Source #

(>)SOP f xss → SOP f xss → Bool Source #

(>=)SOP f xss → SOP f xss → Bool Source #

maxSOP f xss → SOP f xss → SOP f xss Source #

minSOP f xss → SOP f xss → SOP f xss Source #

Show (NS (NP f) xss) ⇒ Show (SOP f xss) 
Instance details

Defined in Data.SOP.NS

Methods

showsPrecIntSOP f xss → ShowS Source #

showSOP f xss → String Source #

showList ∷ [SOP f xss] → ShowS Source #

NFData (NS (NP f) xss) ⇒ NFData (SOP f xss) 
Instance details

Defined in Data.SOP.NS

Methods

rnfSOP f xss → () Source #

type Same (SOP ∷ (k1 → Type) → [[k1]] → Type) 
Instance details

Defined in Data.SOP.NS

type Same (SOP ∷ (k1 → Type) → [[k1]] → Type) = SOP ∷ (k2 → Type) → [[k2]] → Type
type Prod (SOP ∷ (k → Type) → [[k]] → Type) 
Instance details

Defined in Data.SOP.NS

type Prod (SOP ∷ (k → Type) → [[k]] → Type) = POP ∷ (k → Type) → [[k]] → Type
type SListIN (SOP ∷ (k → Type) → [[k]] → Type) 
Instance details

Defined in Data.SOP.NS

type SListIN (SOP ∷ (k → Type) → [[k]] → Type) = SListI2 ∷ [[k]] → Constraint
type CollapseTo (SOP ∷ (k → Type) → [[k]] → Type) a 
Instance details

Defined in Data.SOP.NS

type CollapseTo (SOP ∷ (k → Type) → [[k]] → Type) a = [a]
type AllN (SOP ∷ (k → Type) → [[k]] → Type) (c ∷ k → Constraint) 
Instance details

Defined in Data.SOP.NS

type AllN (SOP ∷ (k → Type) → [[k]] → Type) (c ∷ k → Constraint) = All2 c

data SList (a ∷ [k]) where #

Constructors

SNil ∷ ∀ k. SList ('[] ∷ [k]) 
SCons ∷ ∀ k (xs ∷ [k]) (x ∷ k). SListI xs ⇒ SList (x ': xs) 

Instances

Instances details
Eq (SList xs) 
Instance details

Defined in Data.SOP.Sing

Methods

(==)SList xs → SList xs → Bool Source #

(/=)SList xs → SList xs → Bool Source #

Ord (SList xs) 
Instance details

Defined in Data.SOP.Sing

Methods

compareSList xs → SList xs → Ordering Source #

(<)SList xs → SList xs → Bool Source #

(<=)SList xs → SList xs → Bool Source #

(>)SList xs → SList xs → Bool Source #

(>=)SList xs → SList xs → Bool Source #

maxSList xs → SList xs → SList xs Source #

minSList xs → SList xs → SList xs Source #

Show (SList xs) 
Instance details

Defined in Data.SOP.Sing

Methods

showsPrecIntSList xs → ShowS Source #

showSList xs → String Source #

showList ∷ [SList xs] → ShowS Source #

data Shape (a ∷ [k]) where #

Constructors

ShapeNil ∷ ∀ k. Shape ('[] ∷ [k]) 
ShapeCons ∷ ∀ k (xs ∷ [k]) (x ∷ k). SListI xs ⇒ Shape xs → Shape (x ': xs) 

Instances

Instances details
Eq (Shape xs) 
Instance details

Defined in Data.SOP.Sing

Methods

(==)Shape xs → Shape xs → Bool Source #

(/=)Shape xs → Shape xs → Bool Source #

Ord (Shape xs) 
Instance details

Defined in Data.SOP.Sing

Methods

compareShape xs → Shape xs → Ordering Source #

(<)Shape xs → Shape xs → Bool Source #

(<=)Shape xs → Shape xs → Bool Source #

(>)Shape xs → Shape xs → Bool Source #

(>=)Shape xs → Shape xs → Bool Source #

maxShape xs → Shape xs → Shape xs Source #

minShape xs → Shape xs → Shape xs Source #

Show (Shape xs) 
Instance details

Defined in Data.SOP.Sing

Methods

showsPrecIntShape xs → ShowS Source #

showShape xs → String Source #

showList ∷ [Shape xs] → ShowS Source #