Copyright | (c) Erich Gut |
---|---|
License | BSD3 |
Maintainer | zerich.gut@gmail.com |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
reducing values to there canonical value.
Reducible
class Reducible e where Source #
types admitting reducible values.
Definition
is called the algebraic value of reduce
ee
.
Reducing an e
twice yield the 'same' value and the idea is that in an algebraic calculation
it will be 'safe' to substitute any occurrence of e
by its reduced value, i.e. both calculations
will yield the same result.
Property Let e
be a reducible type admitting equality, then
for all e
in e
holds:
.reduce
(reduce
e) == reduce
e
Nothing
Instances
Eq i => Reducible (PermutationForm i) Source # | |
Defined in OAlg.Entity.Sequence.Permutation reduce :: PermutationForm i -> PermutationForm i Source # | |
(Oriented a, Integral r) => Reducible (ProductForm r a) Source # | |
Defined in OAlg.Entity.Product.Definition reduce :: ProductForm r a -> ProductForm r a Source # | |
(Fibred a, Ord a, Semiring r, Commutative r) => Reducible (SumForm r a) Source # | |
Reducible (PathHomOp s a b) Source # | |
Reducible (PathOpMap f s a b) Source # | |
reduceWith :: (x -> Rdc x) -> x -> x Source #
reduces x
by the given rules until no more reductions are applicable.
(>>>=) :: (x -> Rdc x) -> (x -> Rdc x) -> x -> Rdc x infixr 1 Source #
composition of two reductions.
reduction state.
Instances
Bounded RdcState Source # | |
Enum RdcState Source # | |
Read RdcState Source # | |
Show RdcState Source # | |
Eq RdcState Source # | |
Ord RdcState Source # | |
Defined in OAlg.Data.Reducible |