996
|
1 I have made my TPK program available on
|
|
2 http://www-cs-faculty.stanford.edu/~knuth/programs.html
|
|
3 and I have no objection if you or other people with INTERCAL sites
|
|
4 add it to their collection. If you have time to check it out
|
|
5 (at least a little), I think you'll see that it introduces a few
|
|
6 new hacks that work only on INTERCAL, including DON'T RESUME #1
|
|
7 and REINSTATE NEXTING. Also a way to avoid simple branching by using
|
|
8 an array: Suppose you want to set x<-y if and only if z is true.
|
|
9 Then keep x in ;X SUB#1 and "shadow x" in ;X SUB#2 and convert
|
|
10 z to .Z = 1 if true, 2 if false; then set ;X SUB .Z <- y (no branching).
|
|
11 If you have time to look at only a little bit of the program,
|
|
12 I recommend the last two subroutines, "CMP" (which is teleprinter
|
|
13 code for 23438) and "TIX" (29904). Someday I'll publish clues about
|
|
14 what is going on, in my Fun and Games book; the code is filled with
|
|
15 jokes that only a true hacker can appreciate.... and I think I've
|
|
16 used every non-newfangled feature of the language.
|