ROT13 is a Caesar cipher that rotates Latin letters by 13 positions. Applying the same transformation twice restores the original message, so encryption and decryption use one operation. It works as a word scrambler, not as secure encryption. section 2.1.1
A practical Haskell implementation builds ROT13 from a parameterized Caesar cipher:
- Define `caesar :: Int -> String -> String` and transform each character with `map`. section 2.5.3
- Define `rot13 :: String -> String` as `caesar 13`. section 2.5.3
- Keep digits unchanged because the letter and digit alphabets have different sizes. section 2.5.3
A reversible extension
A combined ROT13.5-style exercise applies ROT13 to letters and ROT5 to digits. Applying `rot135` twice returns `"Hello 1 2 3 ... 7 8 9"`, demonstrating the cancellation property. section 2.5.3
Figure 2.1 Letter substitution wheel
A letter-substitution wheel makes the fixed alphabet rotation visible before implementing the cipher. section 2.1.1


