Сигнатура типа Hugs содержит дополнительные ограничения типа?

Я наткнулся на это во время игры с Haskell и озадачен:

Hugs> :type (\x -> x^2)
\x -> x ^ 2 :: (Integral a, Num b) => b -> b

Что там a делает? Как я должен это читать? Если я введу то же самое в GHCi, я получу ожидаемый результат:

Prelude> :type (\x -> x^2)
(\x -> x^2) :: Num a => a -> a

Это ошибка в Hugs?

5
задан dave4420 3 November 2011 в 16:24
поделиться