Skip to content

Instantly share code, notes, and snippets.

@isaacabraham
Last active August 29, 2015 14:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save isaacabraham/4fd42e945d1cecbbe3c9 to your computer and use it in GitHub Desktop.
Save isaacabraham/4fd42e945d1cecbbe3c9 to your computer and use it in GitHub Desktop.
let translateLetter (left : Rotor, middle : Rotor, right : Rotor, reflector : Reflector, plugboard : Plugboard) : char -> char =
substituteUsing plugboard
>> translateUsing right Forward
>> translateUsing middle Forward
>> translateUsing left Forward
>> reflectUsing reflector
>> translateUsing left Inverse
>> translateUsing middle Inverse
>> translateUsing right Inverse
>> substituteUsing plugboard
// translate the character 'a'.
let answer:char = 'a' |> translateLetter (rotor1, rotor2, rotor3, reflectorA, myPlugboard)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment