+++ /dev/null
- NEW IN THIS RELEASE
-
- Release 0.16 (by Brian Raiter and Eric S. Raymond) 26 May 1997
-
-This is the 25th-anniversary release of INTERCAL. This language, conceived
-in irony a quarter century ago today, has outlasted many more serious and
-high-minded essays in computer language design. This fact should give us
-pause to reflect, or possibly frighten the crap out of us. Or both.
-
-1. Corrected manual bugs.
-
-2. Fixed over-enthusiastic install production in the Makefile.
-
-3. DO PLEASE is no longer accepted (Brian Raiter pointed out that the
- manual does not sanction it).
-
-4. Fixed various bugs in the optimizer.
-
-5. Incorporated fixes made by William Walter Patterson for bugs that
- appeared when multiple files are given on the command line.
-
-(The following changes are due to Brian Raiter)
-
-6. The system library is now available for TriINTERCAL (all bases, 3 to 7).
- The compiler has been updated to use the right library automagically.
-
-7. The error 774 feature has been brought into conformance with the
- Princeton compiler. The odds are now a flat 10% (but still 0% with -b).
-
-8. The compiler has been modified to allocate memory dynamically, and
- the hard-coded limits on program size and number of variables has
- been removed. Programs are now only limited by the amount of
- available memory.
-
-9. Array output now fflushes after outputting newlines.
-
-10. Two minor bug fixes: one in wimpmode input, which was clamping
- input to the signed integer range, and one in politesse checking.
- The latter was causing programs to be recognized as impolite only
- if their ratio was less that one-sixth, not one-fifth. (Fixing this
- also necessitated adding a few PLEASEs to pit/rot13.i.)
-
-11. Several new programs have been tossed into the pit.
-
- Release 0.15 (by Eric S. Raymond) 20 Jun 1996
-
-1. Switched the INTERCAL manual master to mgm in order to be able to handle
- section crossreferences properly. The manual has now been carefully
- proofread against the paper version by ESR and seems to match. It's
- also been independently proofread for typos by Brian Raiter.
-
-2. The optimizer now does complete analysis and evaluation of constant
- expressions at compile time.
-
-3. Added optimization templates for ~, |, &, ^ expressions. Also added
- |, &, ^ idioms to the system library, and documented them.
-
-(The following changes are due to Brian Raiter)
-
-4. Every one of the INTERCAL-72 messages is now emitted when appropriate.
- including the previously un-emitted E000, E197, and E200 (and see below).
-
-5. A close reading (while proofing) of the sections of the manual on
- error messages seems to indicate that splatted lines were only
- splatted in the default listing printed after a successful
- compile. (This seems to be a standard feature of IBM compilers; I
- remember that RPG did this as well.) My understanding of the manual is
- when the syntactically offensive line is encountered at runtime, it is
- printed as error E000. I have modified the code to do this.
-
-6. I have fixed INTERCAL in order to add another bug. Namely, I have
- implemented the BUG/NOBUG option in the Princeton compiler. By
- default, there is a chance that INTERCAL will randomly insert error
- E774 into your executable. (The odds are 1/128 per statement, not
- counting COME FROMs. Is there any way to find out what the
- Princeton compiler's odds were?) The new option -b turns this
- feature off.
-
-7. The new file pit/lib/numio.i contains routines for wimpmode I/O.
- These routines are documented in the file pit/lib/numio.doc.
- It is my earnest hope that C-INTERCAL programmers everywhere will
- flock to these handy routines, and C-INTERCAL users will thus no
- longer need to fear that they might succumb to the foul and awful
- temptation to use the dastardly +wimpmode option.
-
- Release 0.14 (by Eric S. Raymond) 9 Jun 1996
-
-1. The documentation has been reorganized and cleaned up (you can now
- format either a C-INTERCAL or INTERCAL-72 manual from the same master).
- The diagrams in the paper original have been transcribed as pic figures.
- See doc/READ.ME for details.
-
-2. Yet more code. The pit now includes a second random-number generator,
- a ROT13 filter, and even two programs in TriINTERCAL!
-
-3. Louis Howell's corrected system library is now included.
-
-4. The distribution is now formally GPLed.
-
- Release 0.13 (by Eric S. Raymond) 5 Jun 1996
-
-1. I folded in patches by Brian Raiter <breadbox@muppetlabs.com> that port
- this code to Linux, ANSIfies it, and enables it to use flex. Note: This
- version has been tested on Linux and SunOS but not yet elsewhere.
-
-2. Another piece of nontrivial INTERCAL code has been found! (Doubtless
- hell is freezing over even as I write.) We've added to the pit the
- `beer' program by Matt DiMeo <mdimeo@brooktree.com>, courtesy of the
- infamous Beer List (URL:http://www.ionet.net/~timtroyr/funhouse/beer.html).
-
- Release 0.12 (by Eric S. Raymond) 22 Mar 1995
-
-1. The code now compiles and runs under Linux, using bison and lex. It does
- *not* yet work with flex; C.P. Osborne's patches for 0.11 turned out not
- to be sufficient (at least for flex 2.4.6 under Linux using the -l option).
- See the BUGS list.
-
-2. Note 3 under 0.11 was incorrect. We're in conformance after all.
-
-3. The politesse check is a little smarter about programs too small to
- conform to the 1/5-to-1/3 criterion. All the pit programs have been
- checked for conformance. Also, the politesse error message now tells
- you the offending program's line count.
-
- Release 0.11 (by Eric S. Raymond) 24 Sep 1994
-
-1. Incorporated changes by Jan-Pieter Cornet <cornet@OTech.fgg.EUR.nl> for
- magical inclusion of the system library. These address an outstanding bug
-
- 2. (SS) The `system library' should be precompiled and `linked' to user
- written code, at least optionally. Doing this with the current compiler
- presents a few problems.
-
- which has accordingly been removed from the BUGS file. They also fix a
- previously unknown bug; due to a minor oversight in the lexer, it was not
- possible to ABSTAIN FROM WRITING IN or READING OUT. Jan also contributed
- a test program that demonstrates gerund abstention.
-
-2. Despite the obvious appeal of the idea, and much discussion on
- alt.lang.intercal, I decided *not* to add Klingon; maintaining two parallel
- grammars just so the compiler could support SVO and OSV languages would be
- too painful. There was also a minor mess near case-sensitivity in the
- digits. The workaround kluges I was offered instead failed to satisfy.
-
-3. We fess up to a violation of the INTERCAL-72 standard. That implementation,
- instead of accepting an entire multiple-digit number per line of input,
- expected one digit per *card image* (input line). It is unclear how
- INTERCAL-72 programs ever managed to input more than one number.
-
-4. Added patches by C.P.Osborne <boris@ibmpcug.co.uk> to make the lexer work
- using flex, for Linux and BSD/386 support. I didn't use his error-reporting
- patch, though; instead, I changed the parser to catch errors at logical-line
- level. I also kept the N in `RESUBNIT'; this is a carefully preserved
- feature of INTERCAL-72.
-
-5. Volapuk digits are now recognized on input. TO DO: Recognize Volapuk
- keywords, including gerunds.
-
- Release 0.10 (by Eric S. Raymond) 9 Sep 1994
-
-1. It is now possible to undo a line-number abstention with a gerund
- reinstatement, or undo a gerund abstention with a line-number
- reinstatement. In previous versions, gerund abstention/reinstatements and
- line-number abstention/reinstatements were independent of each other.
-
-2. After release 0.5, I wrote in the TO DO list as follows:
-
- 2. (ESR) Input format internationalization -- allow WRITE IN input digits in
- major languages such as Nahuatl, Tagalog, Sanskrit, and Basque.
-
- The twisted loons in the alt.folklore.computers crowd loved this idea,
- and I actually got sent digit lists for Nahuatl, Tagalog, Sanskrit, and
- Basque -- also, Kwakiutl, Georgian, Ojibwe, and Albanian. I've left
- out Albanian (didn't want to keep track of the dipthong diacritical)
- and Ojibwe (no zero digit). So: Nahuatl, Tagalog, Sanskrit, Basque,
- Georgian, and Kwakiutl are now supported in addition to English.
-
-3. The THEORY document has been significantly revised.
-
- Release 0.9 (by Eric S. Raymond) 5 Mar 1993
-
-1. An embarrassing port bug in the INTERCAL skeleton has been fixed
-
-2. Jamie Zawinski's suggestion for an improved E333 error message has
- been accepted.
-
-3. Added and improved documentation for pit programs.
-
-4. The install production in the Makefile now puts lose.h in place
- as well as cesspool.h.
-
-5. You can now set the C compiler to be used as a back end by INTERCAL
- by setting the environment variable CC. The default is cc.
-
- Release 0.8 (many hacks on 0.7 by Eric Raymond) 21 Jan 1992
-
-1. A previously undocumented `feature' of the Princeton compiler,
- revealed by Don Woods, is now emulated. If fewer than 1/5 or more
- than 1/3 of a program's statements contain the qualifier `PLEASE', the
- program is rejected with an entertaining error message. Programs in pit
- have been hacked to pass the politesse test.
-
-2. The `sample' program now works correctly, thanks to Louis Howell. Also,
- he has contributed new programs to calculate pi and to search for prime
- numbers.
-
-3. An intercal mode for GNU Emacs is included. It helps programmers deal with
- the new politesse check by randomly expanding the abbrev "do" to DO PLEASE
- or PLEASE DO about 1/4 of the time.
-
-4. Improvements in code generation for NEXT/RESUME.
-
-5. Fixes to the optimizer; it handles the results of optimized MINGLEs
- correctly now. Also, added a rewrite rule that checks for the
- equality-test idiom using XOR.
-
-6. The original error messages from the Princeton compiler have been restored.
-
-The documentation has been updated to reflect these changes.
-
- Release 0.7 (by Louis Howell) 21 Dec 1991
-
-In addition to bug fixes, new features in this version include arrays,
-character I/O, modified (hopefully improved!) semantics for the COME
-FROM statement, extensions to bases other than 2, new INTERCAL programs,
-and new documentation.
-
- Release 0.6 (by Steve Swales) 5 Jan 1991
-
-1. Restored Princeton documentation (courtesy of Michael Ernst).
-
-2. Added -@ usage option to ick.
-
-3. Added [+/-]help, [+/-]traditional, and [+/-]wimpmode options for
-generated programs; [+/-]traditional is a no-op at this point.
-
-4. Various bug fixes, esp. in lexical analysis.
-
- Release 0.5 (ESR's original pre-release) 5 Jun 1990
-
-1. As a convenience to all you junior birdmen out there, `NINER' is accepted as
- a synonym for `NINE' in INTERCAL input.
-
-2. The COME FROM statement is now compiled.
-
- -------------
-
-The resurrection of INTERCAL from its grave took place on 12 May 90
-when ESR released 0.3 on an unsuspecting USENET.
-