Skip to content

@singpolyma /NumberStuff.hs

Embed URL


Subversion checkout URL

You can clone with
Download ZIP
"Class Aliases"
module NumberStuff where
import qualified Prelude
class CanAdd a where
(+) :: a -> a -> a
class CanNegate a where
negate :: a -> a
class FromInteger a where
fromInteger :: Prelude.Integer -> a
class (CanAdd a, CanNegate a, FromInteger a) => Num a
instance CanAdd Prelude.Integer where
(+) = (Prelude.+)
instance CanNegate Prelude.Integer where
negate = Prelude.negate
instance FromInteger Prelude.Integer where
fromInteger =
instance Num Prelude.Integer
someFunc :: (Num a) => a -> a
someFunc x = negate (x + x + fromInteger 12)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.