Files
book-exercises/Haskell-book/22/WarmingUp.hs

22 lines
418 B
Haskell

module WarmingUp where
import Data.Char
cap :: [Char] -> [Char]
cap xs = map toUpper xs
rev :: [Char] -> [Char]
rev xs = reverse xs
composed :: [Char] -> [Char]
composed = cap . rev
fmapped :: [Char] -> [Char]
fmapped = fmap cap rev
tupled :: [Char] -> ([Char], [Char])
tupled = (,) <$> composed <*> fmapped
tupled' :: [Char] -> ([Char], [Char])
tupled' = composed >>= (\x -> fmapped >>= (\y -> return (x, y)))