Programs' approximate function and interesting monitor notes are listed here. In many cases Ralph merged multiple source files into a single file and collected a sample standard input file on which to run them. Many of these programs are also tweaked from the originals to produce no output; others need their output redirected to /dev/null if you don't want to wait of reams of bytes to be written to standard output.
In order to simplify the monitoring process each program prog.icn
can be compiled and run non-interactively with ./prog <prog.dat
.
Some programs have empty .dat files because they do not read from &input
name | purpose | sample input | flow graph |
---|---|---|---|
beards.icn | A parser generator application. | beards.dat | beards.json |
chess.icn | A chess-playing program. | chess.dat | chess.json |
cksol.icn | A tournament-match scheduler? | cksol.dat | cksol.json |
collect.icn | Artificial program that garbage collects | collect.dat | collect.json |
concord.icn | Concordance program. | concord.dat | concord.json |
conlst.icn | Concordance program, list-based. | conlst.dat | conlst.json |
conrec.icn | Concordance program, record-based. | conrec.dat | conrec.json |
conset.icn | Concordance program, set-based. | conset.dat | conset.json |
constr.icn | Concordance program, string variations | constr.dat | constr.json |
contbl.icn | Concordance program, table-based | contbl.dat | contbl.json |
flower1.icn | Artificial program, creates multilevel lists, tables, records, and sets | flower1.dat | flower1.json |
genqueen.icn | Generates solutions to the n-queens problem | genqueen.dat | genqueen.json |
ichartp.icn | A "chart parser" in the tradition of natural language processing | ichartp.dat | ichartp.json |
igrep.icn | A regular expression pattern search program | igrep.dat | igrep.json |
iidecode.icn | Icon version of uudecode. | iidecode.dat | iidecode.json |
iiencode.icn | Icon version of uuencode | iiencode.dat | iiencode.json |
impress.icn | some kind of compression algorithm? | impress.dat | impress.json |
ipxref.icn | icon program library cross referencer | ipxref.dat | ipxref.json |
list.icn | an e-mail list utility of some kind | list.dat | list.json |
ll.icn | a yacc-like grammar parser / front end | ll.dat | ll.json |
macho.icn | one of the biggest recursive generators around | macho.dat | macho.json |
memfiltr.icn | (ironic humor) a memory allocation monitor? | memfiltr.dat | memfiltr.json |
mf.icn | an e-mail filter of some kind | mf.dat | mf.json |
miu.icn | generates strings from the MIU system from "Godel, Escher, Bach" | miu.dat | miu.json |
options.icn | command line options module, linked by several other programs | options.dat | options.json |
pargen.icn | parser generator for context free languages | pargen.dat | pargen.json |
penelope.icn | program to edit graphic patterns | penelope.dat | penelope.json |
pipe.icn | a bizarre use of multiple, nested string scanning environments | pipe.dat | pipe.json |
ploy1.icn | builds up a list and a table mapping input lines to their lengths | ploy1.dat | ploy1.json |
poem.icn | poem analyzer (simple NLP) | poem.dat | poem.json |
pool.icn | a bizarre mixture of random #'s, string and structure processing | pool.dat | pool.json |
power.icn | strange numeric processing program | power.dat | power.json |
pssplit.icn | postscript processing program | pssplit.dat | pssplit.json |
rainbow.icn | artificial program that uses a bit of every data type | rainbow.dat | rainbow.json |
reccer.icn | recursive descent parser | reccer.dat | reccer.json |
roffcmds.icn | [ntg]roff(1) file analyzer | roffcmds.dat | roffcmds.json |
rosary.icn | artificial mix of several types | rosary.dat | rosary.json |
rsg.icn | random sentence generator | rsg.dat | rsg.json |
scram.icn | Poetry scrambler, edited | scram.dat | scram.json |
scramble.icn | Poetry scrambler, original | scramble.dat | scramble.json |
sen.icn | NLP sentence generator | sen.dat | sen.json |
sentence.icn | NLP sentence generator | sentence.dat | sentence.json |
singles.icn | seating assignments for bridge tournaments | singles.dat | singles.json |
sortnews.icn | usenix news sorter | sortnews.dat | sortnews.json |
spandex.icn | [ntg]roff(1) file analyzer | spandex.dat | spandex.json |
textcnt.icn | wc(1)-like program | textcnt.dat | textcnt.json |
turing.icn | Turing machine simulator | turing.dat | turing.json |
typeinfer.icn | Type inference prototype requires t.u1 and t.u2 and is invoked as typeinfer t | typeinfer.dat | typeinfer.json |
wrapper.icn | text processor | wrapper.dat | wrapper.json |
yhcheng.icn | ed(1)-like line editor with built-in revision control | yhcheng.dat | yhcheng.json |