monoids0.1.33: Monoids, specialized containers and a general map/reduce framework
Source code
Contents
Index
Data.Ring.Semi.Ord
Stability
experimental
Maintainer
ekmett@gmail.com
Description
Turn an instance of
Ord
into a
SemiRing
over
max
and
min
Synopsis
module
Data.Ring.Semi
newtype
Order
a =
Order
{
getOrder
:: a
}
data
Priority
a
=
MinBound

Priority
a

MaxBound
Documentation
module
Data.Ring.Semi
newtype
Order
a
Source
A
SemiRing
using a type's builtin Bounded instance.
Constructors
Order
getOrder
:: a
Instances
Functor
Order
Pointed
Order
Copointed
Order
(
Bounded
a,
Ord
a) =>
Reducer
a (
Order
a)
Bounded
a =>
Bounded
(
Order
a)
Eq
a =>
Eq
(
Order
a)
Ord
a =>
Ord
(
Order
a)
Read
a =>
Read
(
Order
a)
Show
a =>
Show
(
Order
a)
Arbitrary
a =>
Arbitrary
(
Order
a)
CoArbitrary
a =>
CoArbitrary
(
Order
a)
(
Bounded
a,
Ord
a) =>
Monoid
(
Order
a)
(
Bounded
a,
Ord
a) =>
Multiplicative
(
Order
a)
(
Bounded
a,
Ord
a) =>
RightSemiNearRing
(
Order
a)
(
Bounded
a,
Ord
a) =>
LeftSemiNearRing
(
Order
a)
(
Bounded
a,
Ord
a) =>
Ringoid
(
Order
a)
(
Bounded
a,
Ord
a) =>
SemiRing
(
Order
a)
data
Priority
a
Source
A
SemiRing
which adds
minBound
and
maxBound
to a preexisting type.
Constructors
MinBound
Priority
a
MaxBound
Instances
Functor
Priority
Pointed
Priority
Ord
a =>
Reducer
a (
Priority
a)
Bounded
(
Priority
a)
Eq
a =>
Eq
(
Priority
a)
Ord
a =>
Ord
(
Priority
a)
Read
a =>
Read
(
Priority
a)
Show
a =>
Show
(
Priority
a)
Arbitrary
a =>
Arbitrary
(
Priority
a)
CoArbitrary
a =>
CoArbitrary
(
Priority
a)
Ord
a =>
Monoid
(
Priority
a)
Ord
a =>
Multiplicative
(
Priority
a)
Ord
a =>
RightSemiNearRing
(
Priority
a)
Ord
a =>
LeftSemiNearRing
(
Priority
a)
Ord
a =>
Ringoid
(
Priority
a)
Ord
a =>
SemiRing
(
Priority
a)
Ord
a =>
Reducer
(
MinPriority
a) (
Priority
a)
Ord
a =>
Reducer
(
MaxPriority
a) (
Priority
a)
Produced by
Haddock
version 2.4.2