Могу ли я сделать числовые литералы не полиморфными по умолчанию в Haskell?

Это, вероятно, невозможно, так как я уже проверил список всех расширений GHC, и его там нет, но я подумал, что спрошу на всякий случай.

Есть ли способ сделать так, чтобы 2 имел тип Int (или Integer ) вместо обычного Num a => a ?

(Причина, по которой мне хотелось бы такого поведения, заключается в том, что оно делает сообщения об ошибках более понятными и делает вывод типа более вероятным (особенно с классами типов). Я всегда мог написать (2 :: Int) везде, но я бы предпочел, чтобы «более безопасное» поведение было менее явным)

11
задан Owen 25 July 2011 в 06:49
поделиться