Skip to content

Instantly share code, notes, and snippets.

@ltw
Forked from mattbaker/engima-encode.racket
Last active August 29, 2015 14:16
Show Gist options
  • Save ltw/754a454072ac33a1ea90 to your computer and use it in GitHub Desktop.
Save ltw/754a454072ac33a1ea90 to your computer and use it in GitHub Desktop.
(def encode
[reflector rotor-l rotor-m rotor-r letter]
(->> (letter-to-index letter)
(rotor-translate-left (rotate rotor-r 1))
(rotor-translate-left rotor-m)
(rotor-translate-left rotor-l)
(reflect reflector)
(rotor-translate-right rotor-l)
(rotor-translate-right rotor-m)
(rotor-translate-right (rotate rotor-r 1)
(list-ref alphabet)))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment