summaryrefslogtreecommitdiff
path: root/Haskell-book/13/Palindrome.hs
blob: 439c980055ac5b341d4b7fea4cbc2b872553e187 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
module Palindrome where

import Control.Monad
import Data.Char
import System.Exit

format :: String -> String
format s = filter (\x -> x >= 'a' && x <= 'z') (map toLower s)

palindrome :: IO ()
palindrome = forever $ do
    line1 <- getLine
    case ((format line1) == (format $ reverse line1)) of
      True -> putStrLn "It's a palindrome!"
      False -> do
          putStrLn "Nope!"
          exitSuccess

main :: IO ()
main = palindrome