У меня есть 2 функции в простом файле, в котором нет ничего.
--This is FN1
helper :: Int -> Double -> Double
helper n x = (nu/d)
where
nu = x^n
d = product [1 .. n]
--This is FN2
filterOdd :: [a] -> [a]
filterOdd ls = fi ls [1..]
where
fi [] _ = []
fi (v:vs) (i:ix) = if even i
then v:(fi vs ix)
else fi vs ix
Я использую GHC 7.8.3
Я знаю, что в FN1 есть ошибка типа. Я знаю об этом. Когда FN1 комментируется и запускается, GHCi не вызывает ошибок. Но когда FN1 раскоментирован и запуск GHCi показывает очевидную ошибку в FN1, но также ошибку на 2 страницы для FN2.
Я не понимаю этого. Между FN1 и FN2 нет явной связи. Ничто в FN1 не вызывает FN2 и наоборот. Но почему GHCi показывает ошибки для FN2, когда FN1 раскоментирован?
Точная ошибка достаточно длинная, и я решил поставить ее на lpaste
Может кто-нибудь, пожалуйста, скажите мне, что происходит? Скорее всего, я что-то не понял.