algebra-4.3.1: Constructive abstract algebra

Safe HaskellSafe
LanguageHaskell98

Numeric.Partial.Semigroup

Documentation

class PartialSemigroup a where #

Minimal complete definition

padd

Methods

padd :: a -> a -> Maybe a #

Instances

PartialSemigroup Bool # 

Methods

padd :: Bool -> Bool -> Maybe Bool #

PartialSemigroup Int # 

Methods

padd :: Int -> Int -> Maybe Int #

PartialSemigroup Int8 # 

Methods

padd :: Int8 -> Int8 -> Maybe Int8 #

PartialSemigroup Int16 # 

Methods

padd :: Int16 -> Int16 -> Maybe Int16 #

PartialSemigroup Int32 # 

Methods

padd :: Int32 -> Int32 -> Maybe Int32 #

PartialSemigroup Int64 # 

Methods

padd :: Int64 -> Int64 -> Maybe Int64 #

PartialSemigroup Integer # 

Methods

padd :: Integer -> Integer -> Maybe Integer #

PartialSemigroup Natural # 

Methods

padd :: Natural -> Natural -> Maybe Natural #

PartialSemigroup Word # 

Methods

padd :: Word -> Word -> Maybe Word #

PartialSemigroup Word8 # 

Methods

padd :: Word8 -> Word8 -> Maybe Word8 #

PartialSemigroup Word16 # 

Methods

padd :: Word16 -> Word16 -> Maybe Word16 #

PartialSemigroup Word32 # 

Methods

padd :: Word32 -> Word32 -> Maybe Word32 #

PartialSemigroup Word64 # 

Methods

padd :: Word64 -> Word64 -> Maybe Word64 #

PartialSemigroup () # 

Methods

padd :: () -> () -> Maybe () #

PartialSemigroup a => PartialSemigroup (Maybe a) # 

Methods

padd :: Maybe a -> Maybe a -> Maybe (Maybe a) #

PartialSemigroup a => PartialSemigroup (Morphism a) # 

Methods

padd :: Morphism a -> Morphism a -> Maybe (Morphism a) #

(PartialSemigroup a, PartialSemigroup b) => PartialSemigroup (Either a b) # 

Methods

padd :: Either a b -> Either a b -> Maybe (Either a b) #

(PartialSemigroup a, PartialSemigroup b) => PartialSemigroup (a, b) # 

Methods

padd :: (a, b) -> (a, b) -> Maybe (a, b) #

(PartialSemigroup a, PartialSemigroup b, PartialSemigroup c) => PartialSemigroup (a, b, c) # 

Methods

padd :: (a, b, c) -> (a, b, c) -> Maybe (a, b, c) #

(PartialSemigroup a, PartialSemigroup b, PartialSemigroup c, PartialSemigroup d) => PartialSemigroup (a, b, c, d) # 

Methods

padd :: (a, b, c, d) -> (a, b, c, d) -> Maybe (a, b, c, d) #

(PartialSemigroup a, PartialSemigroup b, PartialSemigroup c, PartialSemigroup d, PartialSemigroup e) => PartialSemigroup (a, b, c, d, e) # 

Methods

padd :: (a, b, c, d, e) -> (a, b, c, d, e) -> Maybe (a, b, c, d, e) #