prednote-0.36.0.4: Evaluate and display trees of predicates

Safe HaskellNone
LanguageHaskell2010

Prednote.Comparisons

Contents

Synopsis

Comparisions that do not run in a context

compareBy #

Arguments

:: Show a 
=> Text

Description of the right-hand side

-> (a -> Ordering)

How to compare the left-hand side to the right-hand side. Return LT if the item is less than the right hand side; GT if greater; EQ if equal to the right hand side.

-> Ordering

When subjects are compared, this ordering must be the result in order for the Predbox to be True; otherwise it is False. The subject will be on the left hand side.

-> Pred a 

Build a Pred that compares items. The idea is that the item on the right hand side is baked into the Pred and that the Pred compares this single right-hand side to each left-hand side item.

compare #

Arguments

:: (Show a, Ord a) 
=> a

Right-hand side

-> Ordering

When subjects are compared, this ordering must be the result in order for the Predbox to be True; otherwise it is False. The subject will be on the left hand side.

-> Pred a 

Overloaded version of compareBy.

equalBy #

Arguments

:: Show a 
=> Text

Description of the right-hand side

-> (a -> Bool)

How to compare an item against the right hand side. Return True if the items are equal; False otherwise.

-> Pred a 

Builds a Pred that tests items for equality.

equal #

Arguments

:: (Eq a, Show a) 
=> a

Right-hand side

-> Pred a 

Overloaded version of equalBy.

compareByMaybe #

Arguments

:: Show a 
=> Text

Description of the right-hand side

-> (a -> Maybe Ordering)

How to compare an item against the right hand side. Return LT if the item is less than the right hand side; GT if greater; EQ if equal to the right hand side.

-> Ordering

When subjects are compared, this ordering must be the result in order for the Predbox to be True; otherwise it is False. The subject will be on the left hand side.

-> Pred a 

Builds a Pred for items that might fail to return a comparison.

greater #

Arguments

:: (Show a, Ord a) 
=> a

Right-hand side

-> Pred a 

less #

Arguments

:: (Show a, Ord a) 
=> a

Right-hand side

-> Pred a 

greaterEq #

Arguments

:: (Show a, Ord a) 
=> a

Right-hand side

-> Pred a 

lessEq #

Arguments

:: (Show a, Ord a) 
=> a

Right-hand side

-> Pred a 

notEq #

Arguments

:: (Show a, Eq a) 
=> a

Right-hand side

-> Pred a 

greaterBy #

Arguments

:: Show a 
=> Text

Description of right-hand side

-> (a -> Ordering)

How to compare an item against the right hand side. Return LT if the item is less than the right hand side; GT if greater; EQ if equal to the right hand side.

-> Pred a 

lessBy #

Arguments

:: Show a 
=> Text

Description of right-hand side

-> (a -> Ordering)

How to compare an item against the right hand side. Return LT if the item is less than the right hand side; GT if greater; EQ if equal to the right hand side.

-> Pred a 

greaterEqBy #

Arguments

:: Show a 
=> Text

Description of right-hand side

-> (a -> Ordering)

How to compare an item against the right hand side. Return LT if the item is less than the right hand side; GT if greater; EQ if equal to the right hand side.

-> Pred a 

lessEqBy #

Arguments

:: Show a 
=> Text

Description of right-hand side

-> (a -> Ordering)

How to compare an item against the right hand side. Return LT if the item is less than the right hand side; GT if greater; EQ if equal to the right hand side.

-> Pred a 

notEqBy #

Arguments

:: Show a 
=> Text

Description of right-hand side

-> (a -> Bool)

How to compare an item against the right hand side. Return True if equal; False otherwise.

-> Pred a 

Comparisions that run in a context

compareByM #

Arguments

:: (Show a, Functor f) 
=> Text

Description of the right-hand side

-> (a -> f Ordering)

How to compare the left-hand side to the right-hand side. Return LT if the item is less than the right hand side; GT if greater; EQ if equal to the right hand side.

-> Ordering

When subjects are compared, this ordering must be the result in order for the Predbox to be True; otherwise it is False. The subject will be on the left hand side.

-> PredM f a 

Build a Pred that compares items. The idea is that the item on the right hand side is baked into the Pred and that the Pred compares this single right-hand side to each left-hand side item.

equalByM #

Arguments

:: (Show a, Functor f) 
=> Text

Description of the right-hand side

-> (a -> f Bool)

How to compare an item against the right hand side. Return True if the items are equal; False otherwise.

-> PredM f a 

Builds a Pred that tests items for equality.

compareByMaybeM #

Arguments

:: (Functor f, Show a) 
=> Text

Description of the right-hand side

-> (a -> f (Maybe Ordering))

How to compare an item against the right hand side. Return LT if the item is less than the right hand side; GT if greater; EQ if equal to the right hand side.

-> Ordering

When subjects are compared, this ordering must be the result in order for the Predbox to be True; otherwise it is False. The subject will be on the left hand side.

-> PredM f a 

Builds a Pred for items that might fail to return a comparison.

greaterByM #

Arguments

:: (Show a, Functor f) 
=> Text

Description of right-hand side

-> (a -> f Ordering)

How to compare an item against the right hand side. Return LT if the item is less than the right hand side; GT if greater; EQ if equal to the right hand side.

-> PredM f a 

lessByM #

Arguments

:: (Show a, Functor f) 
=> Text

Description of right-hand side

-> (a -> f Ordering)

How to compare an item against the right hand side. Return LT if the item is less than the right hand side; GT if greater; EQ if equal to the right hand side.

-> PredM f a 

greaterEqByM #

Arguments

:: (Functor f, Monad f, Show a) 
=> Text

Description of right-hand side

-> (a -> f Ordering)

How to compare an item against the right hand side. Return LT if the item is less than the right hand side; GT if greater; EQ if equal to the right hand side.

-> PredM f a 

lessEqByM #

Arguments

:: (Functor f, Monad f, Show a) 
=> Text

Description of right-hand side

-> (a -> f Ordering)

How to compare an item against the right hand side. Return LT if the item is less than the right hand side; GT if greater; EQ if equal to the right hand side.

-> PredM f a 

notEqByM #

Arguments

:: (Functor f, Show a) 
=> Text

Description of right-hand side

-> (a -> f Bool)

How to compare an item against the right hand side. Return True if equal; False otherwise.

-> PredM f a 

Parsing comparers

parseComparer #

Arguments

:: (Monad f, Functor f) 
=> Text

The string with the comparer to be parsed

-> (Ordering -> PredM f a)

A function that, when given an ordering, returns a Pred. Typically you will get this by partial application of compare, compareBy, or compareByMaybe.

-> Maybe (PredM f a)

If an invalid comparer string is given, Nothing; otherwise, the Pred.

Parses a string that contains text, such as >=, which indicates which comparer to use. Returns the comparer.