Доброго времени суток! Начал изучать Хаскель и столкнулся с такой проблемой: Пишу код fac 0 = 1 fac n | n > 0 = n * fac (n-1) bin_k r k = (fac k) / ((fac r) * fac (k-r)) bin_dist k n p = (bin_k k n) * p ^ k * (1 - p) ^ (n - k) пытаюсь вызвать bin_dist 2 4 0.4 и получаю: ERROR - Unresolved overloading *** Type : (Fractional a, Integral a) => a *** Expression : bin_dist 2 4 0.4 смотрю тип bin_dist: bin_dist :: (Integral a, Fractional a) => a -> a -> a -> a Возникают вопросы: а) означает ли такой тип функции, что ей можно передавать аргументы лишь одного типа? б) правильно ли я понял, что вывелся полиморфный тип аргумента, заявленный экземпляром двух классов у которых нет совместной реализации (т.е. нет типа, реализующего оба)? в) как правильно решить возникшую проблему?
Ответ на:
комментарий
от grob
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от anonymous
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Типизация локальных объявлений в Хаскеле (2007)
- Форум Хаскель (2007)
- Форум Миры хаскеля (2014)
- Форум негодный Хаскель (2008)
- Форум Хаскель плох (+) (2008)
- Форум хаскель, книга (2007)
- Форум Модель типизации (2007)
- Форум Кармак и хаскель (2013)
- Форум полиморфизм в хаскель. (2017)
- Форум Продайте мне Хаскель (2016)