What is INTERCAL?
The name INTERCAL is an acronym, which stands for "Compiler Language With No Pronounceable Acronym." It was created in 1972, and designed for the sole purpose of having nothing at all in common with any existing language. It outputs numbers as roman numerals, and inputs them in Sanskrit. Instead of a GOTO statement, it has a COME FROM statement. It is the original language from Hell.
Fun Features
COME FROM
Works just like it sounds. When you COME FROM a line number, it means that when your program reaches that line, it immediately jumps to the line after the COME FROM.
PLEASE
All line numbers must begin with "DO", "PLEASE", or "PLEASE DO". If you do not use PLEASE enough in your program, the compiler, aptly named "ick", will complain that you are not being polite enough, and refuse to compile. If you use PLEASE too much, the compiler will sense that you are sucking up and also will refuse to compile your program.
IGNORE, ABSTAIN
You may tell INTERCAL to ignore all attempts to change a variable by using the "IGNORE" statement. You may tell INTERCAL to ignore entire line numbers or operations with the "ABSTAIN" statement, for example, "PLEASE ABSTAIN FROM ABSTAINING."
Threaded INTERCAL
One logical question that comes up occasionally is, "What if more than one line of code COMEs FROM the same place?" The logical answer, obviously, is that new threads are created. Synchronization, in typical INTERCAL style, is achieved by turning on and off lines of code with ABSTAIN/REINSTATE. The Threaded INTERCAL compiler is called "thick".
