Неоднозначный тип в простом утверждении Haskell - PullRequest
2 голосов
/ 24 августа 2011

Я хочу просто добавить 3.5 + floor 3.5, но возникает эта ошибка: переменная неоднозначного типа 't' в ограничениях: 'Fractional t', возникающая из литерала '3.5' ... 'Integral t', возникающая из-за использования floor...

Как решить эту проблему?

1 Ответ

6 голосов
/ 24 августа 2011

Вот как: 3.5 + fromInteger (floor 3.5).

Причина в том, что результат floor должен быть Integral, но 3.5 должен быть Fractional. Оба аргумента + должны иметь одинаковый тип, но не существует типа данных по умолчанию, который является Integral и Fractional, поэтому ошибка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...