996
|
1 This is the directory of programs written in INTERCAL. Most of these
|
|
2 are no doubt full of bugs. Don't complain, you're lucky if anything
|
|
3 written in INTERCAL works at all.
|
|
4
|
|
5 Some of these programs are explicitly licenced under the GNU GPL, just
|
|
6 like the C-INTERCAL compiler is; therefore, remember to include
|
|
7 COPYING.txt from the main installation directory if you want to
|
|
8 redistribute these separately from that compiler.
|
|
9
|
|
10 The subdirectory lib contains code fragments that are not complete
|
|
11 programs; the programs in explib are expansion libraries written in C,
|
|
12 which serve as examples of the C-INTERCAL to C interface as well as
|
|
13 potentially being useful.
|
|
14
|
|
15 Contents:
|
|
16
|
|
17 from original manual:
|
|
18 sample.i Returns absolute value of a 16-bit 2s-complement number
|
|
19 lib/syslib.i Standard library, with bugs fixed
|
|
20 lib/syslib-orig.i Standard library (original buggy version)
|
|
21
|
|
22 by Jon Blow <jon@sampo.com>
|
|
23 tests/sink.i Simple test program
|
|
24 random.i Random number program
|
|
25 lib/plus.i Increment .1
|
|
26
|
|
27 by Hans Olsson <f88ho@efd.lth.se>
|
|
28 lib/1910.doc Listing of a random number routine. Hans said he wrote this
|
|
29 because he couldn't find (1910) in the system library, but
|
|
30 it's there in our lib/syslib.i. We keep this around as an
|
|
31 example. (What? Throw away INTERCAL code? Perish the thought!)
|
|
32
|
|
33 by Louis Howell <nazgul@netcom.com>
|
|
34 life.i Conway's game of Life, standard INTERCAL version
|
|
35 life2.i This version uses COME FROM and character output
|
|
36 blinkers
|
|
37 t_tet
|
|
38 glider
|
|
39 gun Input files for both Life programs
|
|
40 bubble.i Bubble sort
|
|
41 icat.i Sends input to output
|
|
42 lib/lib2.i New library routines: decrement, decrement and branch on 0,
|
|
43 add bit, 16-bit division with remainder, exponentiation
|
|
44 pi.i Calculate pi
|
|
45 primes.i Find prime numbers
|
|
46 pow.i Prints a list of nth powers using old exponentiation routine
|
|
47 lib/syslib.i Corrected version of system library
|
|
48 iching1.i Generates I Ching hexagrams
|
|
49 iching2.i This version uses a lookup table to find the sequence number
|
|
50 iching.doc Description of the two I Ching programs
|
|
51 change.i Count up different ways to make change
|
|
52 change.doc Description of change.i
|
|
53
|
|
54 by Matt Dimeo <mdimeo@brooktree.com>
|
|
55 beer.i Print out the lyrics to "99 Bottles of Beer On The Wall"
|
|
56
|
|
57 by Stinglai Ka'abi <stinglai@bureau.World.GOV>:
|
|
58 random2.i Another random-number generator
|
|
59
|
|
60 by Jacob Mandelson <jlm@cco.caltech.edu>
|
|
61 rot13.i Prints ROT-13 of its input
|
|
62
|
|
63 by Jan-Pieter Cornet <johnpc@xs4all.nl>
|
|
64 hail_mary.3i Print 1,000,000 Hail Marys
|
|
65 tests/count.3i Count from 1 to 10 in TriINTERCAL
|
|
66 tests/iogerunds.i Demonstrate gerund abstention
|
|
67
|
|
68 by Clemens Meier <clmeier@lili.uni-bielefeld.de>
|
|
69 rot13b.i Another ROT-13 program
|
|
70
|
|
71 By Brian Raiter <breadbox@muppetlabs.com>
|
|
72 lib/numio.i I/O routines
|
|
73 lib/numio.doc Description of the I/O routines
|
|
74 lib/syslib.3i
|
|
75 lib/syslib.4i
|
|
76 lib/syslib.5i
|
|
77 lib/syslib.6i Translations of the standard library to
|
|
78 lib/syslib.7i C-INTERCAL's other bases.
|
|
79 lib/syslib3-7.doc Documentation for same
|
|
80 hello.i The traditional hello world program
|
|
81 ins.i Intersections & Splats, a Mastermind-style game
|
|
82 ins.doc Documentation for I&S
|
|
83 yapp.i Prints an INTERCAL program that prints
|
|
84 yapp.doc Description of yapp.i
|
|
85 quine.i Prints itself
|
|
86 lib/floatlib.i Floating-point routines
|
|
87 lib/floatlib.doc Documentation for the floating-point routines
|
|
88 flonck.i An RPN calculator
|
|
89 flonck.doc Documentation for flonck.i
|
|
90 fft.i Fast Fourier Transform
|
|
91 fft.doc Description of fft.i
|
|
92 delta.fft
|
|
93 tophat.fft Sample input for FFT
|
|
94
|
|
95 by Donald Knuth
|
|
96 tpk.i Don Knuth's implementation of the TPK algorithm
|
|
97 tpk.doc Don's note about the algorithm
|
|
98
|
|
99 by Oerjan Johansen
|
|
100 unlambda.i An Unlambda interpreter in INTERCAL
|
|
101 unlambda.doc Better-commented version of the above
|
|
102
|
|
103 by Jeffrey Lee
|
|
104 interfunge.i A Befunge-93 interpreter in INTERCAL
|
|
105
|
|
106 The subdirectory tests contains some programs written only to test the
|
|
107 compiler.
|
|
108
|
|
109 by David Moews
|
|
110 tests/test1.i Prints DO THIS TEST HAS BEEN SUCCESSFULLY COMPLETED
|
|
111 tests/test2.i Reads in two numbers and multiplies their product
|
|
112
|
|
113 David Moews wrote of the latter (test2.i):
|
|
114
|
|
115 The following program reads in two numbers and then prints their product.
|
|
116 It consists of a trivial calling program followed by a cleaned-up version
|
|
117 of a portion of the INTERCAL subroutine library. (Only a portion of
|
|
118 the INTERCAL subroutine library is present in the posted manual, and
|
|
119 that portion is full of typos.)
|
|
120
|
|
121 by Alex Smith
|
|
122 tests/ais1.i A very simple test program
|
|
123 tests/ais2.i A demonstration of computed ABSTAIN's power
|
|
124 tests/compucome.i A program to test computed COME FROM
|
|
125 tests/onceagain.i A single-threaded program testing ONCE and AGAIN
|
|
126 tests/arrtest.i A program to test some changes I made to the grammar
|
|
127 tests/arrtest.doc The history behind those changes
|
|
128 tests/permute.i A permutation-printing program to test backtracking
|
|
129 tests/permute.doc Information about the permutation-printer
|
|
130 tests/whileadd.i Adds two input numbers with a single WHILE statement
|
|
131 tests/ignorret.i Testing interactions of IGNORE and RETRIEVE
|
|
132 tests/ignorret.doc What ignorret does on several compilers
|
|
133 tests/normaldist.i Checking the standard deviation of (1910)
|
|
134 tests/testcreate.i A test for the CREATE statement
|
|
135 tests/iffit1.i The INTERCAL side of the INTERCAL/Funge-98 test
|
|
136 tests/iffit2.b98 The Funge side of the INTERCAL/Funge-98 test
|
|
137 tests/iffit.doc Documentation for the INTERCAL/Funge-98 test
|
|
138 explib/syslibc.c The INTERCAL base 2 syslib, optimised version in C
|
|
139 explib/compunex.c An example flow-control routine (computed NEXT)
|
|
140 explib/ecto_b98.c A library that links INTERCAL and Funge-98 code
|
|
141 sort.i An insertion-sort program testing computed ABSTAIN
|
|
142 continuation.i A continuation library and example program
|
|
143 continuation.doc About usage and internals of the continuation library
|
|
144
|
|
145 by Malcom Ryan
|
|
146 tests/testonce.i A single-threaded program testing ONCE and AGAIN
|
|
147 pass.i A multithread program illustrating communications
|
|
148 between threads
|
|
149
|
|
150 by Jeffrey Lee
|
|
151 interfunge.i A Befunge-93 interpreter written in INTERCAL
|
|
152
|
|
153 The programs test16bit.i, testarray.i, testcf.i, testlib2.i, mult.i,
|
|
154 limits.{i,3i}, testops.{3i,5i}, testsplat.i, were all written by Louis
|
|
155 Howell. Of these, testcf.i might be considered an interesting
|
|
156 puzzle---try to figure out what it's doing. The others are pretty
|
|
157 boring, but are included as diagnostics and because so few other
|
|
158 example programs exist. Not all of these even produce interesting
|
|
159 diagnostic output; it may be necessary to look at the degenerated C
|
|
160 code to determine if the compiler is doing the right thing.
|
|
161
|
|
162
|
|
163 End of file CATALOG
|
|
164 -------------------
|