RosettaCodeData/Task/Phrase-reversals/Haskell/phrase-reversals.hs
2017-09-25 22:28:19 +02:00

15 lines
405 B
Haskell

reverseString, reverseEachWord, reverseWordOrder :: String -> String
reverseString = reverse
reverseEachWord = wordLevel (fmap reverse)
reverseWordOrder = wordLevel reverse
wordLevel :: ([String] -> [String]) -> String -> String
wordLevel f = unwords . f . words
main :: IO ()
main =
(putStrLn . unlines) $
[reverseString, reverseEachWord, reverseWordOrder] <*>
["rosetta code phrase reversal"]