Skip to content

Embed URL

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
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 = Prelude.id
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.