algebra-simple
Safe HaskellNone
LanguageHaskell2010

Numeric.Algebra.Additive.ASemigroup

Description

Provides the ASemigroup typeclass.

Since: 0.1

Synopsis

Documentation

class ASemigroup s where Source #

Defines an additive semigroup.

Examples:

Expand
>>> :{
  -- Addition
  f1 :: (ASemigroup g) => g -> g
  f1 x = x .+. x
:}
>>> f1 5
10

Since: 0.1

Methods

(.+.) :: s -> s -> s infixl 6 Source #

Should satisfy:

-- associativity
a .+. (b .+. c) === (a .+. b) .+. c

Since: 0.1

Instances

Instances details
ASemigroup Int16 Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

Methods

(.+.) :: Int16 -> Int16 -> Int16 Source #

ASemigroup Int32 Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

Methods

(.+.) :: Int32 -> Int32 -> Int32 Source #

ASemigroup Int64 Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

Methods

(.+.) :: Int64 -> Int64 -> Int64 Source #

ASemigroup Int8 Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

Methods

(.+.) :: Int8 -> Int8 -> Int8 Source #

ASemigroup Word16 Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

Methods

(.+.) :: Word16 -> Word16 -> Word16 Source #

ASemigroup Word32 Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

Methods

(.+.) :: Word32 -> Word32 -> Word32 Source #

ASemigroup Word64 Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

Methods

(.+.) :: Word64 -> Word64 -> Word64 Source #

ASemigroup Word8 Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

Methods

(.+.) :: Word8 -> Word8 -> Word8 Source #

ASemigroup Integer Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

ASemigroup Natural Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

ASemigroup Double Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

Methods

(.+.) :: Double -> Double -> Double Source #

ASemigroup Float Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

Methods

(.+.) :: Float -> Float -> Float Source #

ASemigroup Int Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

Methods

(.+.) :: Int -> Int -> Int Source #

ASemigroup Word Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

Methods

(.+.) :: Word -> Word -> Word Source #

Num a => ASemigroup (AsFractional a) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

Num a => ASemigroup (AsIntegral a) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

Num a => ASemigroup (AsNum a) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

Methods

(.+.) :: AsNum a -> AsNum a -> AsNum a Source #

RealFloat a => ASemigroup (Complex a) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

Methods

(.+.) :: Complex a -> Complex a -> Complex a Source #

ASemigroup (Ratio Integer) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

ASemigroup (Ratio Natural) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

HasResolution k => ASemigroup (Fixed k) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

Methods

(.+.) :: Fixed k -> Fixed k -> Fixed k Source #

ASemigroup a => ASemigroup (a, a) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

Methods

(.+.) :: (a, a) -> (a, a) -> (a, a) Source #

ASemigroup a => ASemigroup (a, a, a) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

Methods

(.+.) :: (a, a, a) -> (a, a, a) -> (a, a, a) Source #

ASemigroup a => ASemigroup (a, a, a, a) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

Methods

(.+.) :: (a, a, a, a) -> (a, a, a, a) -> (a, a, a, a) Source #

ASemigroup a => ASemigroup (a, a, a, a, a) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

Methods

(.+.) :: (a, a, a, a, a) -> (a, a, a, a, a) -> (a, a, a, a, a) Source #

ASemigroup a => ASemigroup (a, a, a, a, a, a) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

Methods

(.+.) :: (a, a, a, a, a, a) -> (a, a, a, a, a, a) -> (a, a, a, a, a, a) Source #

ASemigroup a => ASemigroup (a, a, a, a, a, a, a) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

Methods

(.+.) :: (a, a, a, a, a, a, a) -> (a, a, a, a, a, a, a) -> (a, a, a, a, a, a, a) Source #

ASemigroup a => ASemigroup (a, a, a, a, a, a, a, a) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

Methods

(.+.) :: (a, a, a, a, a, a, a, a) -> (a, a, a, a, a, a, a, a) -> (a, a, a, a, a, a, a, a) Source #

ASemigroup a => ASemigroup (a, a, a, a, a, a, a, a, a) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

Methods

(.+.) :: (a, a, a, a, a, a, a, a, a) -> (a, a, a, a, a, a, a, a, a) -> (a, a, a, a, a, a, a, a, a) Source #