ideas-1.1: Feedback services for intelligent tutoring systems

Portabilityportable (depends on ghc)
Stabilityprovisional
Maintainerbastiaan.heeren@ou.nl
Safe HaskellNone

Ideas.Common.Algebra.Field

Contents

Description

 

Synopsis

Semi-ring

class SemiRing a whereSource

Methods

(<+>) :: a -> a -> aSource

zero :: aSource

sum :: [a] -> aSource

(<*>) :: a -> a -> aSource

one :: aSource

product :: [a] -> aSource

Instances

Num a => SemiRing (SafeNum a) 
(CoField a, Field a) => SemiRing (SmartField a) 

Ring

class SemiRing a => Ring a whereSource

Methods

plusInverse :: a -> aSource

(<->) :: a -> a -> aSource

Instances

Num a => Ring (SafeNum a) 
(CoField a, Field a) => Ring (SmartField a) 

Field

class Ring a => Field a whereSource

Methods

timesInverse :: a -> aSource

(</>) :: a -> a -> aSource

Instances

(Eq a, Fractional a) => Field (SafeNum a) 
(CoField a, Field a) => Field (SmartField a) 

Additive monoid

newtype Additive a Source

Constructors

Additive 

Fields

fromAdditive :: a
 

Multiplicative monoid

Datatype for safe numeric operators

data SafeNum a Source

Instances

Monad SafeNum 
Functor SafeNum 
Eq a => Eq (SafeNum a) 
(Eq a, Fractional a) => Fractional (SafeNum a) 
Num a => Num (SafeNum a) 
Ord a => Ord (SafeNum a) 
Show a => Show (SafeNum a) 
Arbitrary a => Arbitrary (SafeNum a) 
(Eq a, Fractional a) => Field (SafeNum a) 
Num a => Ring (SafeNum a) 
Num a => SemiRing (SafeNum a) 

CoSemiRing, CoRing, and CoField (for matching)

class CoSemiRing a whereSource

Methods

isPlus :: a -> Maybe (a, a)Source

isZero :: a -> BoolSource

isTimes :: a -> Maybe (a, a)Source

isOne :: a -> BoolSource

Instances

class CoSemiRing a => CoRing a whereSource

Methods

isNegate :: a -> Maybe aSource

isMinus :: a -> Maybe (a, a)Source

Instances

class CoRing a => CoField a whereSource

Methods

isRecip :: a -> Maybe aSource

isDivision :: a -> Maybe (a, a)Source

Instances