EM
Size: a a a
EM
И
zt
A
zt
O
A
A
O
И
rev (' ':xs) = undefined
rev (x:xs) = undefinedA
A
A
И
A
ЗП
AP
AP
λ> :m +Data.List
λ> :m +Data.Char
λ> rw [] = []; rw xs = let (w, ws) = break isSpace xs in reverse w <> ks ws; ks [] = []; ks xs = let (s, ss) = break (not . isSpace) xs in s <> rw ss
λ> rw "asd fgh jkl"
"dsa hgf lkj"
AP
AP
rw [] = []
rw xs =
let (w, ws) = break isSpace xs
in reverse w <> ks ws
ks [] = []
ks xs =
let (s, ss) = break (not . isSpace) xs
in s <> rw ss
(rw == "reverseWords", "ks" == "keepSpaces", просто я в репле экономил символы)