Copyright | (c) Grant Weyburne 2022 |
---|---|
License | BSD-3 |
Safe Haskell | None |
Language | Haskell2010 |
Synopsis
- class Num1 a where
- withOp :: Num1 a => (Integer -> Integer) -> a -> Either String a
- withOp2 :: Num1 a => (Integer -> Integer -> Integer) -> a -> a -> Either String a
- withOp3 :: Num1 a => (Integer -> Integer -> Integer -> Integer) -> a -> a -> a -> Either String a
- withOp4 :: Num1 a => (Integer -> Integer -> Integer -> Integer -> Integer) -> a -> a -> a -> a -> Either String a
Documentation
lifted version of Num class for handling failure
minimal definition requires toInteger1
and fromInteger1
unless leveraging default signatures
Nothing
toInteger1 :: a -> Integer Source #
required method for converting from "a" to an Integer
default toInteger1 :: Enum a => a -> Integer Source #
fromInteger1 :: a -> Integer -> Either String a Source #
required method for trying to convert from an Integer
to "a"
(.+) :: Either String a -> Either String a -> Either String a infixl 6 Source #
(.-) :: Either String a -> Either String a -> Either String a infixl 6 Source #
(.*) :: Either String a -> Either String a -> Either String a infixl 7 Source #
negate1 :: Either String a -> Either String a Source #
abs1 :: Either String a -> Either String a Source #
signum1 :: Either String a -> Either String a Source #
Instances
withOp :: Num1 a => (Integer -> Integer) -> a -> Either String a Source #
run a function of one integer against the underlying Num1
type
withOp2 :: Num1 a => (Integer -> Integer -> Integer) -> a -> a -> Either String a Source #
run a function of two integers against the underlying Num1
types