22 lines
418 B
Haskell
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)))
|