installfest = I = InterCaps

INTERCAL /in't*r-kal/ n.

[said by the authors to stand for `Compiler Language With No Pronounceable Acronym'] A computer language designed by Don Woods and James Lyons in 1972. INTERCAL is purposely different from all other computer languages in all ways but one; it is purely a written language, being totally unspeakable. An excerpt from the INTERCAL Reference Manual will make the style of the language clear:

It is a well-known and oft-demonstrated fact that a person whose work is incomprehensible is held in high esteem. For example, if one were to state that the simplest way to store a value of 65536 in a 32-bit INTERCAL variable is:
DO :1 <- #0$#256

any sensible programmer would say that that was absurd. Since this is indeed the simplest method, the programmer would be made to look foolish in front of his boss, who would of course have happened to turn up, as bosses are wont to do. The effect would be no less devastating for the programmer having been correct.

INTERCAL has many other peculiar features designed to make it even more unspeakable. The Woods-Lyons implementation was actually used by many (well, at least several) people at Princeton. The language has been recently reimplemented as C-INTERCAL and is consequently enjoying an unprecedented level of unpopularity; there is even an alt.lang.intercal newsgroup devoted to the study and ... appreciation of the language on Usenet.

Inevitably, INTERCAL has a home page on the Web: http://www.tuxedo.org/~esr/intercal/. An extended version, implemented in (what else?) Perl and adding object-oriented features, is available at http://dd-sh.assurdo.com/INTERCAL. See also Befunge.

--The Jargon File version 4.3.1, ed. ESR, autonoded by rescdsk.

To aid the reader's appreciation, here is a trivial Intercal program:
        PLEASE NOTE THAT THIS MAY ONLY RUN ON C-INTERCAL

        PLEASE DO ,1 <- #13
        DO ,1 SUB #1 <- #584
        DO ,1 SUB #2 <- #837
        DO ,1 SUB #3 <- #1100
        DO ,1 SUB #4 <- #1356
        DO ,1 SUB #5 <- #1615
        DO ,1 SUB #6 <- #1824
        DO ,1 SUB #7 <- #2135
        DO ,1 SUB #8 <- #2383
        DO ,1 SUB #9 <- #2642
        DO ,1 SUB #10 <- #2892
        DO ,1 SUB #11 <- #3140
        DO ,1 SUB #12 <- #3361
        DO ,1 SUB #13 <- #266

        PLEASE DO ,2 <- #1
        PLEASE DO .5 <- #0
        PLEASE DO .4 <- #1

        PLEASE COME FROM (1)
        DO .6 <- ",1 SUB .4"~#255
        DO .6 <- !6~#15'$!6~#240'
        DO .6 <- !6~#15'$!6~#240'
        DO .6 <- !6~#15'$!6~#240'

        DO .1 <- .5
        DO .2 <- .6
        PLEASE DO (1010) NEXT
        DO .3 <- .3~#255
        DO .5 <- .6

        DO ,2 SUB #1 <- .3
        PLEASE READ OUT ,2

(1)     PLEASE DO .4 <- ",1 SUB .4"~#3840
        PLEASE GIVE UP
--Clemens Meier

Uh, that's "Hello, World!"... so I'm told...

Log in or registerto write something here or to contact authors.