Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import Data.Char
- char_to_pos c = ord c - ord 'a'
- pos_to_char p = chr (p `mod` 26 + ord('a'))
- transcode_letter op key text = pos_to_char (text_offset `op` key_offset + 26)
- where [key_offset, text_offset] = map char_to_pos [key, text]
- encode_letter = transcode_letter (+)
- decode_letter = transcode_letter (-)
- transcode_string f key = map (uncurry f) . zip (cycle key)
- encode_string = transcode_string encode_letter
- decode_string = transcode_string decode_letter
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement