range-0.1.2.0: This has a bunch of code for specifying and managing ranges in your code.

Safe HaskellSafe
LanguageHaskell98

Data.Range.Algebra

Contents

Synopsis

Documentation

data RangeExpr a #

Instances

Functor RangeExpr # 

Methods

fmap :: (a -> b) -> RangeExpr a -> RangeExpr b #

(<$) :: a -> RangeExpr b -> RangeExpr a #

Eq a => Eq (RangeExpr a) # 

Methods

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

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

Ord a => Ord (RangeExpr a) # 
Show a => Show (RangeExpr a) # 

Operations

const :: a -> RangeExpr a #

Evaluation

type Algebra f a = f a -> a #

class RangeAlgebra a where #

Minimal complete definition

eval

Methods

eval :: Algebra RangeExpr a #

Instances

(Ord a, Enum a) => RangeAlgebra [Range a] # 

Methods

eval :: Algebra RangeExpr [Range a] #

RangeAlgebra (a -> Bool) # 

Methods

eval :: Algebra RangeExpr (a -> Bool) #