Useless is a programming language that is Turing-complete and allows arbitrary input and output, but is nevertheless completely useless.

The following syntatic constructs are allowed:

Program execution works in three steps:
  1. I/O: All strings are printed, and all input is read, in the order in which they appear in the file. If the source file consists entirely of whitespace, the message Program is empty! is written to the standard output. Any unterminated strings are silently ignored. `, s, and k, outside of strings, are treated as whitespace.
  2. Unlambda: Every `, s, and k outside of a string is gathered together, and is run as an Unlambda program. No output is printed. Any errors, including stack overflow and lack of memory, are silently ignored.
  3. The program loops endlessly until it is terminated by the system (e.g., by pressing Ctrl-C or using your system's force quit feature).