2019-09-12 10:33:56 -07:00
|
|
|
import Data.Char (chr, isAlpha, ord, toLower)
|
|
|
|
|
import Data.Bool (bool)
|
2013-04-10 23:57:08 -07:00
|
|
|
|
|
|
|
|
rot13 :: Char -> Char
|
|
|
|
|
rot13 c
|
2019-09-12 10:33:56 -07:00
|
|
|
| isAlpha c = chr $ bool (-) (+) ('m' >= toLower c) (ord c) 13
|
2013-04-10 23:57:08 -07:00
|
|
|
| otherwise = c
|
2017-09-23 10:01:46 +02:00
|
|
|
|
|
|
|
|
-- Simple test
|
|
|
|
|
main :: IO ()
|
|
|
|
|
main = print $ rot13 <$> "Abjurer nowhere"
|