Aviva Directory » Computers & Internet » Programming » INTERCAL

INTERCAL is an esoteric programming language created by Don Woods and James M. Lyon, both Princeton University students, in 1972.

The full name of the language is the Compiler Language With No Pronounceable Acronym, but it is abbreviated INTERCAL. It was created as a parody of the various programming languages of the time and intended to be completely different from all other programming languages. Nevertheless, it is Turing-complete. Given sufficient memory, INTERCAL can solve any problem that a Universal Turing Machine can solve, although what a program written in C can solve in less than half a second might take more than seventeen hours in INTERCAL, if everything else is equal.

As an example of the difficulty in writing code for INTERCAL, the language expects the programmer to use PLEASE as a modifier. If PLEASE does not appear often enough in the code, the program is considered insufficiently polite, according to the error message. On the other hand, if PLEASE is used too often, the program could be rejected for being excessively polite. Although this feature existed in the original INTERCAL compiler, it was not documented.

Anything the INTERCAL compiler doesn't understand is just skipped, making bug detection difficult. On the other hand, program comments can be made anywhere. The programmer simply inserts non-compilable text anywhere in the program, being careful not to accidentally include valid code in the middle of the comment.

Currently, there are two maintained versions of INTERCAL. C-INTERCAL is maintained by Eric S. Raymond, and CLC-INTERCAL is maintained by Claudio Calvelli.

Esoteric programming languages are not generally intended to be useful but are created as challenges by programmers or in jest.

Topics related to the INTERCAL programming language, or one of its versions, dialects, or implementations, are the focus of topics in this category. Any user groups, tools, guides, or manuals are also appropriate here.



Recommended Resources

Search for INTERCAL on Google, Bing, or Yahoo!