Annotated edit history of
INTERCAL version 5, including all changes.
View license author blame.
Rev |
Author |
# |
Line |
2 |
AristotlePagaltzis |
1 |
;: ''INTERCAL. The language designed to be Turing-complete but as fundamentally unlike any existing language as possible. Expressions that look like line noise. Control constructs that will make you gasp, make you laugh, and possibly make you hurl. Data structures? We don't need no steenking data structures!'' %%% -- EricRaymond |
5 |
AristotlePagaltzis |
2 |
|
|
|
3 |
;: ''INTERCAL is a programming language like no other. This is good, or at least, it is good that other languages are as unlike INTERCAL as possible.'' %%% -- [The Pit|http://www.webcom.com/nazgul/intercal.html] |
1 |
SamJansen |
4 |
|
2 |
AristotlePagaltzis |
5 |
;: ''The obvious choice was INTERCAL (I'm still quite surprised that I'm the only one who picked it -- most people did Java??). Anyway, it was not favourably received...when [[the professor] handed it back, he said, "Ah. I see you're someone with a sense of humour. Unfortunately for you, I'm not."'' %%% -- Alexander Garrett, about [a paper he wrote for his Spring 1997 Programming Languages: Theory and Design class|http://catb.org/~esr/intercal/paper.html] |
1 |
SamJansen |
6 |
|
2 |
AristotlePagaltzis |
7 |
INTERCAL was originally developed in 1972 and lives on through the C-INTERCAL compiler. More information can be found at the [INTERCAL Resources Page|http://www.catb.org/~esr/intercal/]. |
1 |
SamJansen |
8 |
|
2 |
AristotlePagaltzis |
9 |
Rather than trying to describe the language, it's probably best to show an example. The code below was written in Tri-INTERCAL: it merely counts to 10. You may also want to see [a sample implementation of ROT13|http://www.ofb.net/~jlm/rot13.i] in [INTERCAL]. Then again, you may not. ("4 pages of completely indecipherable code", according to [its author|http://www.ofb.net/~jlm/intercal.html].) |
1 |
SamJansen |
10 |
|
|
|
11 |
DO ,1 <- #16 |
|
|
12 |
DO :2 <- #6490$#55022 |
|
|
13 |
PLEASE DO (44) NEXT |
|
|
14 |
DO :2 <- #5631$#54733 |
|
|
15 |
PLEASE DO (44) NEXT |
|
|
16 |
DO :2 <- #14637$#40039 |
|
|
17 |
PLEASE DO (44) NEXT |
|
|
18 |
DO :2 <- #58550$#53112 |
|
|
19 |
PLEASE DO (44) NEXT |
|
|
20 |
DO .1 <- #1 |
|
|
21 |
PLEASE DO (99) NEXT |
|
|
22 |
DO GIVE UP |
|
|
23 |
(44) DO REINSTATE COMING FROM |
|
|
24 |
(19) DO COME FROM (68) |
|
|
25 |
DO ABSTAIN FROM (19) |
|
|
26 |
(31) DO COME FROM (34) |
|
|
27 |
DO ABSTAIN FROM (31) |
|
|
28 |
(88) DO COME FROM (65) |
|
|
29 |
PLEASE ABSTAIN FROM (88) |
|
|
30 |
DO COME FROM (44) |
|
|
31 |
PLEASE DO (123) NEXT |
|
|
32 |
DO .3 <- ':2~"#4$#13"' |
|
|
33 |
DO :2 <- ':2~"#29520$#29511"' |
|
|
34 |
DO ,1 SUB .1 <- .3 |
|
|
35 |
(65) DON'T GIVE UP |
|
|
36 |
(34) PLEASE DON'T GIVE UP |
|
|
37 |
(68) DO NOTE THAT THIS FUNNY CODE ACTUALLY WORKS |
|
|
38 |
PLEASE RESUME #1 |
|
|
39 |
(99) DO COME FROM (69) |
|
|
40 |
DO READ OUT ,1 |
|
|
41 |
DO ,1 SUB #1 <- #180 |
|
|
42 |
DO READ OUT .1 |
|
|
43 |
DO .2 <- "?.1$#10"~"#0$#29524" |
|
|
44 |
PLEASE DO (15) NEXT |
|
|
45 |
(69) PLEASE DO (123) NEXT |
|
|
46 |
(42) DO RESUME .9 |
|
|
47 |
(123) PLEASE .8 <- #1 |
|
|
48 |
DO COME FROM (81) |
|
|
49 |
DO .9 <- '?"V!1~.8'$#1"~#1'~#1 |
|
|
50 |
DO .1 <- "^.1$.8"~"#0$#29524" |
|
|
51 |
PLEASE DO (42) NEXT |
|
|
52 |
(81) DO .8 <- !8$#0'~"#9841$#1" |
|
|
53 |
(15) PLEASE RESUME '?"!2~.2'~#2"$#1'~#1 |
3 |
AristotlePagaltzis |
54 |
|
|
|
55 |
---- |
4 |
AristotlePagaltzis |
56 |
CategoryProgrammingLanguages, CategoryObfuscatedProgrammingLanguages |