		Release Notes for C-INTERCAL
			version 0.8

			DISCREDITS

This package is an implementation of the language INTERCAL designed by Don
Woods and James Lyon, who have since spent most of twenty years trying to
live it down.

This implementation was created by Eric S. Raymond <eric@snark.thyrsus.com>
during a fit of lunacy from which he has since mostly recovered.  It has
been considerably hacked upon and improved by Steve Swales, Michael Ernst,
Louis Howell (who wrote the array support stubbed out in Eric's original
version), and others.

			FILES

The compiler itself is in the src directory.  You may need to modify
the makefile in that directory if you want it to install the parts
of the compiler in their proper places.  The doc directory contains
(surprise!) documentation, and pit contains various examples of
INTERCAL source code, writhing in agony.

The files included are:

READ.ME			-- this file
BUGS			-- current bug and to-do list
NEWS			-- info on features and fixes new in this release
intercal.el		-- elisp for editing INTERCAL code under GNU Emacs

doc/intercal.txt	-- The INTERCAL manual (read this next!)
doc/intercal.tex	-- TeX source form
doc/intercal.sty	-- TeX style file
doc/intercal.ms		-- the manual in nroffable form
doc/original.txt	-- the original Princeton docs
doc/ick.txt		-- new features in C-INTERCAL
doc/THEORY		-- some notes on the internals of the INTERCAL compiler

src/Makefile		-- makefile for the INTERCAL compiler
src/lexer.l		-- the lexical analyzer specification (in LEX)
src/ick.y		-- the grammar specification (in YACC)
src/ick.h		-- compilation types and defines
src/perpetrate.c	-- main routine for compiler
src/feh.c		-- INTERCAL-to-C code generator
src/fiddle.c		-- the INTERCAL operators
src/lose.[ch]		-- INTERCAL compile- and run-time error handling
src/ick-wrap.c		-- the driver for generated C-from-INTERCAL code
src/arrgghh.c		-- option argument parsing for generated programs
src/cesspool.c		-- the INTERCAL runtime support code
src/cesspool.h		-- interface to INTERCAL runtime support

pit/*			-- sample INTERCAL code; see pit/CATALOG

		HOW TO GET STARTED

You want a man page?  Man pages are for wimps.  To compile an INTERCAL
program `foo.i' to executable code, just do

	ick foo.i

There's a -c option that leaves the generated `foo.c' in place for
inspection (suppressing compilation to machine code), a -d option that
enables verbose parse reporting from the YACC parser, a -t option that
requires strict INTERCAL-72 compliance, and an -O option that enables
the (hah!) optimizer.  Invoking ick -? prints a usage message.  Other
than that, yer on yer own.

One other switch affects C-INTERCAL's runtime behavior.  The `-C'
option forces output in "clockface" mode, for superstitious users who
believe writing "IV" upside-down offends IVPITER and would rather
see IIII.

Steve Swales, describing the 0.6 release:

I've added some command line flags to the generated INTERCAL programs.
These are currently, [+/-]help, [+/-]traditional, and [+/-]wimpmode.
The help option (with either + or -) triggers a 'usage' message.  The
traditional option currently does nothing, but I have plans for it. I
hope to bring this up in alt.lang.intercal in the near future. The
wimpmode option is the most interesting. I found myself always running
my test programs with filters on both ends to work around the 'nifty'
intercal number representations. This was so painful that I decided it
would be LESS painful (and a lot less code) if I added a 'wimp' option.
With the +wimpmode option, the user is subjected to a humiliating message
about what a wimp he or she is to use this mode, but after that is allowed
to use conventional numerical notation.  While such a mode doubtless violates
to some extent the INTERCAL philosophy, the fact that a 'unbutcher' command
has been posted clearly indicates the need for it. Anyway... if you don't
like it, don't use it... the default is -wimpmode (i.e. NOT wimp mode).

			SPREADING THE BLAME

C-INTERCAL maintenance is coordinated through Steve Swales.  Send bugs, fixes,
kudos and death threats to him at

	steve@aldur.lle.rochester.edu	(128.151.32.111)

There is, in addition, an occasionally active USENET newsgroup devoted to the
language: alt.lang.intercal.


