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

bifold :: Monoid m => Wedge m m -> m #

bifoldMap :: Monoid m => (a -> m) -> (b -> m) -> Wedge a b -> m #

bifoldr :: (a -> c -> c) -> (b -> c -> c) -> c -> Wedge a b -> c #

bifoldl :: (c -> a -> c) -> (c -> b -> c) -> c -> Wedge a b -> c #

Bifunctor Wedge Source # 
Instance details

Defined in Data.Wedge

Methods

bimap :: (a -> b) -> (c -> d) -> Wedge a c -> Wedge b d #

first :: (a -> b) -> Wedge a c -> Wedge b c #

second :: (b -> c) -> Wedge a b -> Wedge a c #

Bitraversable Wedge Source # 
Instance details

Defined in Data.Wedge

Methods

bitraverse :: Applicative f => (a -> f c) -> (b -> f d) -> Wedge a b -> f (Wedge c d) #

Applicative (Wedge a) Source # 
Instance details

Defined in Data.Wedge

Methods

pure :: a0 -> Wedge a a0 #

(<*>) :: Wedge a (a0 -> b) -> Wedge a a0 -> Wedge a b #

liftA2 :: (a0 -> b -> c) -> Wedge a a0 -> Wedge a b -> Wedge a c #

(*>) :: Wedge a a0 -> Wedge a b -> Wedge a b #

(<*) :: Wedge a a0 -> Wedge a b -> Wedge a a0 #

Functor (Wedge a) Source # 
Instance details

Defined in Data.Wedge

Methods

fmap :: (a0 -> b) -> Wedge a a0 -> Wedge a b #

(<$) :: a0 -> Wedge a b -> Wedge a a0 #

Monad (Wedge a) Source # 
Instance details

Defined in Data.Wedge

Methods

(>>=) :: Wedge a a0 -> (a0 -> Wedge a b) -> Wedge a b #

(>>) :: Wedge a a0 -> Wedge a b -> Wedge a b #

return :: a0 -> Wedge a a0 #

Foldable (Wedge a) Source # 
Instance details

Defined in Data.Wedge

Methods

fold :: Monoid m => Wedge a m -> m #

foldMap :: Monoid m => (a0 -> m) -> Wedge a a0 -> m #

foldMap' :: Monoid m => (a0 -> m) -> Wedge a a0 -> m #

foldr :: (a0 -> b -> b) -> b -> Wedge a a0 -> b #

foldr' :: (a0 -> b -> b) -> b -> Wedge a a0 -> b #

foldl :: (b -> a0 -> b) -> b -> Wedge a a0 -> b #

foldl' :: (b -> a0 -> b) -> b -> Wedge a a0 -> b #

foldr1 :: (a0 -> a0 -> a0) -> Wedge a a0 -> a0 #

foldl1 :: (a0 -> a0 -> a0) -> Wedge a a0 -> a0 #

toList :: Wedge a a0 -> [a0] #

null :: Wedge a a0 -> Bool #

length :: Wedge a a0 -> Int #

elem :: Eq a0 => a0 -> Wedge a a0 -> Bool #

maximum :: Ord a0 => Wedge a a0 -> a0 #

minimum :: Ord a0 => Wedge a a0 -> a0 #

sum :: Num a0 => Wedge a a0 -> a0 #

product :: Num a0 => Wedge a a0 -> a0 #

(Show a, Show b) => Show (Wedge a b) Source # 
Instance details

Defined in Data.Wedge

Methods

showsPrec :: Int -> Wedge a b -> ShowS #

show :: Wedge a b -> String #

showList :: [Wedge a b] -> ShowS #

(Eq a, Eq b) => Eq (Wedge a b) Source # 
Instance details

Defined in Data.Wedge

Methods

(==) :: Wedge a b -> Wedge a b -> Bool #

(/=) :: Wedge a b -> Wedge a b -> Bool #

(Ord a, Ord b) => Ord (Wedge a b) Source # 
Instance details

Defined in Data.Wedge

Methods

compare :: Wedge a b -> Wedge a b -> Ordering #

(<) :: Wedge a b -> Wedge a b -> Bool #

(<=) :: Wedge a b -> Wedge a b -> Bool #

(>) :: Wedge a b -> Wedge a b -> Bool #

(>=) :: Wedge a b -> Wedge a b -> Bool #

max :: Wedge a b -> Wedge a b -> Wedge a b #

min :: Wedge a b -> Wedge a b -> Wedge a b #