AZ
nmap f = zipWith ($) $ iterate ((.) f) idВот это можно переписать как
nmap f xs = zipWith ($) (iterate ((.) f) id) (xs)
где (iterate ((.) f) id) - первый список
(xs) - второй список
($) - функция, которой элементы склеиваются
Size: a a a
AZ
nmap f = zipWith ($) $ iterate ((.) f) idAZ
A
A
AZ
AZ
AZ
AZ
AZ
A
nmap f xs = zipWith ($) funcs elems where
funcs = iterate ((.) f) id
elems = xs
AZ
AZ
iterate ((.) f) fA
iterate ((.) f) fAZ
A
A
EG
λ => join $ intersperse " " ["multiple", "(three)", "words"]
"multiple (three) words"
EG
joinAZ
A