Полный новичок Хаскелла здесь, мои извинения ....
Я пытаюсь создать последовательность значений из другой последовательности и последнего сгенерированного значения (поэтому для меня не совсем очевидно, как бы я использовал map).
В clojure я бы использовал конструкцию loop
, которая в основном эквивалентна рекурсивной функции. Поэтому я подумал, что смогу использовать эту проблему с рекурсивной функцией в соответствии с
genSequence :: [a] -> [b] -> [a]
genSequence result [] = reverse result
genSequence a:as b:bs = genSequence ((computeNextA a b):a:as) bs
и я думаю, что это не так уж и плохо (реальная функция, конечно, более сложная ...), но я читал о монадах (прочитайте отличный учебник Филипп Уолдер , затем кое-что о монадах в ближайшем будущем) и не могу избавиться от ощущения, что я должен использовать их здесь. Пока что, к сожалению, мое знание монад носит чисто теоретический характер, поэтому я был бы очень благодарен, если бы вы могли помочь мне в этом.