ouroboros-network-framework-0.6.0.1: Ouroboros network framework
Safe HaskellSafe-Inferred
LanguageHaskell2010

Data.Wedge

Description

This module is a simplified version of https://hackage.haskell.org/package/smash/docs/Data-Wedge.html#t:Wedge, which is copyrighted by Emily Pillmore and originally pulished using BSD-3-Clause license.

copyright: Emily Pillmore 2020-2021, iohk 2021

Synopsis

Documentation

data Wedge a b Source #

Constructors

Nowhere 
Here a 
There b 

Instances

Instances details
Bifoldable Wedge Source # 
Instance details

Defined in Data.Wedge

Methods

bifoldMonoid m ⇒ Wedge m m → m Source #

bifoldMapMonoid m ⇒ (a → m) → (b → m) → Wedge a b → m Source #

bifoldr ∷ (a → c → c) → (b → c → c) → c → Wedge a b → c Source #

bifoldl ∷ (c → a → c) → (c → b → c) → c → Wedge a b → c Source #

Bifunctor Wedge Source # 
Instance details

Defined in Data.Wedge

Methods

bimap ∷ (a → b) → (c → d) → Wedge a c → Wedge b d Source #

first ∷ (a → b) → Wedge a c → Wedge b c Source #

second ∷ (b → c) → Wedge a b → Wedge a c Source #

Bitraversable Wedge Source # 
Instance details

Defined in Data.Wedge

Methods

bitraverseApplicative f ⇒ (a → f c) → (b → f d) → Wedge a b → f (Wedge c d) Source #

Foldable (Wedge a) Source # 
Instance details

Defined in Data.Wedge

Methods

foldMonoid m ⇒ Wedge a m → m Source #

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

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

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

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

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

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

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

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

toListWedge a a0 → [a0] Source #

nullWedge a a0 → Bool Source #

lengthWedge a a0 → Int Source #

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

maximumOrd a0 ⇒ Wedge a a0 → a0 Source #

minimumOrd a0 ⇒ Wedge a a0 → a0 Source #

sumNum a0 ⇒ Wedge a a0 → a0 Source #

productNum a0 ⇒ Wedge a a0 → a0 Source #

Applicative (Wedge a) Source # 
Instance details

Defined in Data.Wedge

Methods

pure ∷ a0 → Wedge a a0 Source #

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

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

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

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

Functor (Wedge a) Source # 
Instance details

Defined in Data.Wedge

Methods

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

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

Monad (Wedge a) Source # 
Instance details

Defined in Data.Wedge

Methods

(>>=)Wedge a a0 → (a0 → Wedge a b) → Wedge a b Source #

(>>)Wedge a a0 → Wedge a b → Wedge a b Source #

return ∷ a0 → Wedge a a0 Source #

(Show a, Show b) ⇒ Show (Wedge a b) Source # 
Instance details

Defined in Data.Wedge

Methods

showsPrecIntWedge a b → ShowS Source #

showWedge a b → String Source #

showList ∷ [Wedge a b] → ShowS Source #

(Eq a, Eq b) ⇒ Eq (Wedge a b) Source # 
Instance details

Defined in Data.Wedge

Methods

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

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

(Ord a, Ord b) ⇒ Ord (Wedge a b) Source # 
Instance details

Defined in Data.Wedge

Methods

compareWedge a b → Wedge a b → Ordering Source #

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

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

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

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

maxWedge a b → Wedge a b → Wedge a b Source #

minWedge a b → Wedge a b → Wedge a b Source #