Skip to content

Instantly share code, notes, and snippets.

@thelinked
Last active December 16, 2015 10:49
Show Gist options
  • Save thelinked/5422811 to your computer and use it in GitHub Desktop.
Save thelinked/5422811 to your computer and use it in GitHub Desktop.
Morse Code in the most wasteful way possible.
let START = []
let STOP = []
let _ = []
let inline morse c left right = left @ c::[] @ right
let inline SPACE left right = morse ' ' left right
let inline (.-) left right = morse 'A' left right
let inline (-...) left right = morse 'B' left right
let inline (-.-.) left right = morse 'C' left right
let inline (-..) left right = morse 'D' left right
let inline (*) left right = morse 'E' left right
let inline (..-.) left right = morse 'F' left right
let inline (--.) left right = morse 'G' left right
let inline ( ****) left right = morse 'H' left right
let inline ( **) left right = morse 'I' left right
let inline (.---) left right = morse 'J' left right
let inline (-.-) left right = morse 'K' left right
let inline (.-..) left right = morse 'L' left right
let inline (--) left right = morse 'M' left right
let inline (-.) left right = morse 'N' left right
let inline (---) left right = morse 'O' left right
let inline (.--.) left right = morse 'P' left right
let inline (--.-) left right = morse 'Q' left right
let inline (.-.) left right = morse 'R' left right
let inline ( ***) left right = morse 'S' left right
let inline (-) left right = morse 'T' left right
let inline (..-) left right = morse 'U' left right
let inline (...-) left right = morse 'V' left right
let inline (.--) left right = morse 'W' left right
let inline (-..-) left right = morse 'X' left right
let inline (-.--) left right = morse 'Y' left right
let inline (--..) left right = morse 'Z' left right
let inline (.----) left right = morse '1' left right
let inline (..---) left right = morse '2' left right
let inline (...--) left right = morse '3' left right
let inline (....-) left right = morse '4' left right
let inline ( *****) left right = morse '5' left right
let inline (-....) left right = morse '6' left right
let inline (--...) left right = morse '7' left right
let inline (---..) left right = morse '8' left right
let inline (----.) left right = morse '9' left right
let inline (-----) left right = morse '0' left right
let message = START **** _ * _ .-.. _ .-.. _ --- (_ |> SPACE) _ .-- _ --- _ .-. _ .-.. _ -.. STOP
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment