numhask-0.2.3.1: numeric classes

Safe HaskellNone
LanguageHaskell2010

NumHask.Data

Synopsis

Documentation

newtype Sum a #

Monoid under addition.

>>> getSum (Sum 1 <> Sum 2 <> mempty)
3

Constructors

Sum 

Fields

Instances
Monad Sum #

Since: numhask-4.8.0.0

Instance details

Defined in NumHask.Data

Methods

(>>=) :: Sum a -> (a -> Sum b) -> Sum b #

(>>) :: Sum a -> Sum b -> Sum b #

return :: a -> Sum a #

fail :: String -> Sum a #

Functor Sum # 
Instance details

Defined in NumHask.Data

Methods

fmap :: (a -> b) -> Sum a -> Sum b #

(<$) :: a -> Sum b -> Sum a #

Applicative Sum #

Since: numhask-4.8.0.0

Instance details

Defined in NumHask.Data

Methods

pure :: a -> Sum a #

(<*>) :: Sum (a -> b) -> Sum a -> Sum b #

liftA2 :: (a -> b -> c) -> Sum a -> Sum b -> Sum c #

(*>) :: Sum a -> Sum b -> Sum b #

(<*) :: Sum a -> Sum b -> Sum a #

Bounded a => Bounded (Sum a) # 
Instance details

Defined in NumHask.Data

Methods

minBound :: Sum a #

maxBound :: Sum a #

Eq a => Eq (Sum a) # 
Instance details

Defined in NumHask.Data

Methods

(==) :: Sum a -> Sum a -> Bool #

(/=) :: Sum a -> Sum a -> Bool #

Ord a => Ord (Sum a) # 
Instance details

Defined in NumHask.Data

Methods

compare :: Sum a -> Sum a -> Ordering #

(<) :: Sum a -> Sum a -> Bool #

(<=) :: Sum a -> Sum a -> Bool #

(>) :: Sum a -> Sum a -> Bool #

(>=) :: Sum a -> Sum a -> Bool #

max :: Sum a -> Sum a -> Sum a #

min :: Sum a -> Sum a -> Sum a #

Read a => Read (Sum a) # 
Instance details

Defined in NumHask.Data

Show a => Show (Sum a) # 
Instance details

Defined in NumHask.Data

Methods

showsPrec :: Int -> Sum a -> ShowS #

show :: Sum a -> String #

showList :: [Sum a] -> ShowS #

Generic (Sum a) # 
Instance details

Defined in NumHask.Data

Associated Types

type Rep (Sum a) :: * -> * #

Methods

from :: Sum a -> Rep (Sum a) x #

to :: Rep (Sum a) x -> Sum a #

AdditiveMagma a => Semigroup (Sum a) # 
Instance details

Defined in NumHask.Data

Methods

(<>) :: Sum a -> Sum a -> Sum a #

sconcat :: NonEmpty (Sum a) -> Sum a #

stimes :: Integral b => b -> Sum a -> Sum a #

AdditiveUnital a => Monoid (Sum a) # 
Instance details

Defined in NumHask.Data

Methods

mempty :: Sum a #

mappend :: Sum a -> Sum a -> Sum a #

mconcat :: [Sum a] -> Sum a #

(AdditiveInvertible a, AdditiveUnital a) => AdditiveGroup (Sum a) # 
Instance details

Defined in NumHask.Data

Methods

(-) :: Sum a -> Sum a -> Sum a #

(AdditiveUnital a, AdditiveMagma a) => Additive (Sum a) # 
Instance details

Defined in NumHask.Data

Methods

(+) :: Sum a -> Sum a -> Sum a #

AdditiveInvertible a => AdditiveInvertible (Sum a) # 
Instance details

Defined in NumHask.Data

Methods

negate :: Sum a -> Sum a #

AdditiveMagma a => AdditiveCommutative (Sum a) # 
Instance details

Defined in NumHask.Data

AdditiveMagma a => AdditiveAssociative (Sum a) # 
Instance details

Defined in NumHask.Data

AdditiveUnital a => AdditiveUnital (Sum a) # 
Instance details

Defined in NumHask.Data

Methods

zero :: Sum a #

AdditiveMagma a => AdditiveMagma (Sum a) # 
Instance details

Defined in NumHask.Data

Methods

plus :: Sum a -> Sum a -> Sum a #

Generic1 Sum # 
Instance details

Defined in NumHask.Data

Associated Types

type Rep1 Sum :: k -> * #

Methods

from1 :: Sum a -> Rep1 Sum a #

to1 :: Rep1 Sum a -> Sum a #

type Rep (Sum a) # 
Instance details

Defined in NumHask.Data

type Rep (Sum a) = D1 (MetaData "Sum" "NumHask.Data" "numhask-0.2.3.1-5FbBg4YG6PL6iNL0vQctqA" True) (C1 (MetaCons "Sum" PrefixI True) (S1 (MetaSel (Just "getSum") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)))
type Rep1 Sum # 
Instance details

Defined in NumHask.Data

type Rep1 Sum = D1 (MetaData "Sum" "NumHask.Data" "numhask-0.2.3.1-5FbBg4YG6PL6iNL0vQctqA" True) (C1 (MetaCons "Sum" PrefixI True) (S1 (MetaSel (Just "getSum") NoSourceUnpackedness NoSourceStrictness DecidedLazy) Par1))

newtype Product a #

Monoid under multiplication.

>>> getProduct (Product 3 <> Product 4 <> mempty)
12

Constructors

Product 

Fields

Instances
Monad Product #

Since: numhask-4.8.0.0

Instance details

Defined in NumHask.Data

Methods

(>>=) :: Product a -> (a -> Product b) -> Product b #

(>>) :: Product a -> Product b -> Product b #

return :: a -> Product a #

fail :: String -> Product a #

Functor Product # 
Instance details

Defined in NumHask.Data

Methods

fmap :: (a -> b) -> Product a -> Product b #

(<$) :: a -> Product b -> Product a #

Applicative Product #

Since: numhask-4.8.0.0

Instance details

Defined in NumHask.Data

Methods

pure :: a -> Product a #

(<*>) :: Product (a -> b) -> Product a -> Product b #

liftA2 :: (a -> b -> c) -> Product a -> Product b -> Product c #

(*>) :: Product a -> Product b -> Product b #

(<*) :: Product a -> Product b -> Product a #

Bounded a => Bounded (Product a) # 
Instance details

Defined in NumHask.Data

Eq a => Eq (Product a) # 
Instance details

Defined in NumHask.Data

Methods

(==) :: Product a -> Product a -> Bool #

(/=) :: Product a -> Product a -> Bool #

Ord a => Ord (Product a) # 
Instance details

Defined in NumHask.Data

Methods

compare :: Product a -> Product a -> Ordering #

(<) :: Product a -> Product a -> Bool #

(<=) :: Product a -> Product a -> Bool #

(>) :: Product a -> Product a -> Bool #

(>=) :: Product a -> Product a -> Bool #

max :: Product a -> Product a -> Product a #

min :: Product a -> Product a -> Product a #

Read a => Read (Product a) # 
Instance details

Defined in NumHask.Data

Show a => Show (Product a) # 
Instance details

Defined in NumHask.Data

Methods

showsPrec :: Int -> Product a -> ShowS #

show :: Product a -> String #

showList :: [Product a] -> ShowS #

Generic (Product a) # 
Instance details

Defined in NumHask.Data

Associated Types

type Rep (Product a) :: * -> * #

Methods

from :: Product a -> Rep (Product a) x #

to :: Rep (Product a) x -> Product a #

MultiplicativeMagma a => Semigroup (Product a) # 
Instance details

Defined in NumHask.Data

Methods

(<>) :: Product a -> Product a -> Product a #

sconcat :: NonEmpty (Product a) -> Product a #

stimes :: Integral b => b -> Product a -> Product a #

MultiplicativeUnital a => Monoid (Product a) # 
Instance details

Defined in NumHask.Data

Methods

mempty :: Product a #

mappend :: Product a -> Product a -> Product a #

mconcat :: [Product a] -> Product a #

(MultiplicativeUnital a, MultiplicativeInvertible a) => MultiplicativeGroup (Product a) # 
Instance details

Defined in NumHask.Data

Methods

(/) :: Product a -> Product a -> Product a #

MultiplicativeUnital a => Multiplicative (Product a) # 
Instance details

Defined in NumHask.Data

Methods

(*) :: Product a -> Product a -> Product a #

MultiplicativeInvertible a => MultiplicativeInvertible (Product a) # 
Instance details

Defined in NumHask.Data

Methods

recip :: Product a -> Product a #

MultiplicativeMagma a => MultiplicativeCommutative (Product a) # 
Instance details

Defined in NumHask.Data

MultiplicativeMagma a => MultiplicativeAssociative (Product a) # 
Instance details

Defined in NumHask.Data

MultiplicativeUnital a => MultiplicativeUnital (Product a) # 
Instance details

Defined in NumHask.Data

Methods

one :: Product a #

MultiplicativeMagma a => MultiplicativeMagma (Product a) # 
Instance details

Defined in NumHask.Data

Methods

times :: Product a -> Product a -> Product a #

Generic1 Product # 
Instance details

Defined in NumHask.Data

Associated Types

type Rep1 Product :: k -> * #

Methods

from1 :: Product a -> Rep1 Product a #

to1 :: Rep1 Product a -> Product a #

type Rep (Product a) # 
Instance details

Defined in NumHask.Data

type Rep (Product a) = D1 (MetaData "Product" "NumHask.Data" "numhask-0.2.3.1-5FbBg4YG6PL6iNL0vQctqA" True) (C1 (MetaCons "Product" PrefixI True) (S1 (MetaSel (Just "getProduct") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)))
type Rep1 Product # 
Instance details

Defined in NumHask.Data

type Rep1 Product = D1 (MetaData "Product" "NumHask.Data" "numhask-0.2.3.1-5FbBg4YG6PL6iNL0vQctqA" True) (C1 (MetaCons "Product" PrefixI True) (S1 (MetaSel (Just "getProduct") NoSourceUnpackedness NoSourceStrictness DecidedLazy) Par1))