«включить _, если» в Haskell

Как написать что-то вроде следующего на Haskell:

showSquare :: (Show a, Num a) => a -> String
showSquare x = "The square of " ++ (show x) ++ " is " ++ (show (x * x))

showSquare :: (Show a, not Num a) => a -> String
showSquare x = "I don't know how to square " ++ (show x)

По сути, что-то вроде boost ::enable _if в C++.

Расширения GHC в порядке.

6
задан Clinton 10 August 2012 в 08:09
поделиться