In ghci, quando scrivo
:t (-)
per capire il tipo di (-)
, ritorna
(-) :: Num a => a -> a -> a
Tuttavia, quando scrivo -1
haskell restituisce un numero, il che sembra implicare che (-)
sia di tipo Num a => a -> a
. Come possono (-)
apparentemente avere due tipi diversi?