Examples-0.1.0: Haskell code examples
Copyright© Frank Jung 2024
LicenseGPL-3.0-only
Safe HaskellSafe-Inferred
LanguageHaskell2010

Selector

Contents

Description

From "Effective Haskell" by Rebecca Skinner (B9.0 14 March 2023).

Synopsis

Types

class Select (f :: Type -> Type) where Source #

A class for types that can be used to select between two values.

Methods

empty :: f a Source #

select :: f a -> f a -> f a Source #

Instances

Instances details
Select Maybe Source #

Instances of Select for Maybe.

Instance details

Defined in Selector

Methods

empty :: Maybe a Source #

select :: Maybe a -> Maybe a -> Maybe a Source #

Select [] Source #

Instances of Select for lists '[]'.

Instance details

Defined in Selector

Methods

empty :: [a] Source #

select :: [a] -> [a] -> [a] Source #

newtype Selector (f :: Type -> Type) (a :: Type) Source #

Selector type.

Constructors

Selector (f a) 

Instances

Instances details
Select f => Monoid (Selector f a) Source #

Monoid instance for Selector.

Instance details

Defined in Selector

Methods

mempty :: Selector f a #

mappend :: Selector f a -> Selector f a -> Selector f a #

mconcat :: [Selector f a] -> Selector f a #

Select f => Semigroup (Selector f a) Source #

Semigroup instance for Selector.

Instance details

Defined in Selector

Methods

(<>) :: Selector f a -> Selector f a -> Selector f a #

sconcat :: NonEmpty (Selector f a) -> Selector f a #

stimes :: Integral b => b -> Selector f a -> Selector f a #

Show (f a) => Show (Selector f a) Source # 
Instance details

Defined in Selector

Methods

showsPrec :: Int -> Selector f a -> ShowS #

show :: Selector f a -> String #

showList :: [Selector f a] -> ShowS #

Eq (f a) => Eq (Selector f a) Source # 
Instance details

Defined in Selector

Methods

(==) :: Selector f a -> Selector f a -> Bool #

(/=) :: Selector f a -> Selector f a -> Bool #

newtype MyMaybe a Source #

MyMaybe and 'Selector Maybe a' are representationally equal to 'Maybe a'.

Constructors

MyMaybe (Maybe a) 

Instances

Instances details
Monoid (MyMaybe a) Source # 
Instance details

Defined in Selector

Methods

mempty :: MyMaybe a #

mappend :: MyMaybe a -> MyMaybe a -> MyMaybe a #

mconcat :: [MyMaybe a] -> MyMaybe a #

Semigroup (MyMaybe a) Source # 
Instance details

Defined in Selector

Methods

(<>) :: MyMaybe a -> MyMaybe a -> MyMaybe a #

sconcat :: NonEmpty (MyMaybe a) -> MyMaybe a #

stimes :: Integral b => b -> MyMaybe a -> MyMaybe a #

Show a => Show (MyMaybe a) Source # 
Instance details

Defined in Selector

Methods

showsPrec :: Int -> MyMaybe a -> ShowS #

show :: MyMaybe a -> String #

showList :: [MyMaybe a] -> ShowS #

Eq a => Eq (MyMaybe a) Source # 
Instance details

Defined in Selector

Methods

(==) :: MyMaybe a -> MyMaybe a -> Bool #

(/=) :: MyMaybe a -> MyMaybe a -> Bool #