Я пытаюсь цепь вместе функций через аппликативном шаблон функтора, но у меня возникает проблемы компиляция моего кода:Haskell аппликативен функтор - сборник отказ
import Control.Applicative
buildMyList :: Float -> Float -> [Float]
buildMyList ul tick = [p | p <- [0,tick..ul]]
myFunctionChain :: [Float]
myFunctionChain = reverse <$> buildMyList 100 1
Когда я пытаюсь скомпилировать это я получаю следующая ошибка компиляции:
Couldn't match type 'Float' with '[a0]'
Expected type: [[a0]]
Actual type: [Float]
In the return type of call of 'buildMyList'
Мне кажется, что мне не удалось сопоставить ожидаемый контекст возврата с фактическим контекстом. Не имея достаточного опыта в этой области, я не могу получить больше!
Вам не нужно 'Applicative' здесь. Обычное приложение-функция будет делать: 'reverse (buildMyList 100 1)' или 'reverse $ buildMyList 100 1'. – phadej
да, я согласен с вами. Это должно быть примером для игрушек, поскольку я пытаюсь понять, почему он не работает, поэтому я могу построить свои знания –