Я новичок в Haskell и не очень знаком с синтаксисом. У меня есть чистая функция, которая имеет 2 целочисленных параметра, а затем хочу вызвать другую функцию и изменить значение одного параметра на возвращаемое значение из вызываемой функции. Однако я получаю сообщение об ошибке «Модули не загружены». Я считаю, что возвращение классифицируется как действие ввода-вывода, и поэтому делает его не чистым, но это только предположение.
Вот код:
percentage A B = (A/B)
grades x y = do
if y /= 0 then do
x <- percentage x y
if x > 1 then "Error"
else
<code>
else "Error"
Вот как я это определяю:
percentage :: Double -> Double -> Double
grades :: Double -> Double -> String
Я уже смотрел на другие темы и онлайн, но ни одна из них, кажется, не покрывает изменение параметра.
Спасибо за любые решения и вашу помощь.