home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / intercal.zip / NEWS < prev    next >
Text File  |  1996-06-20  |  9KB  |  209 lines

  1.             NEW IN THIS RELEASE
  2.  
  3.         Release 0.15 (by Eric S. Raymond) 20 Jun 1996
  4.  
  5. 1. Switched the intercal manual master to mgm in order to be able to handle
  6.    section crossrferences properly.  The manual has now been carefully
  7.    proofread against the paper version by ESR and seems to match.  It's
  8.    also been independently proofread for typos by Brian Raiter.
  9.  
  10. 2. The optimizer now does complete analysis and evaluation of constant
  11.    expressions at compile time.
  12.  
  13. 3. Added optimization templates for ~, |, &, ^ expressions.  Also added 
  14.    |, &, ^ idioms to the system library, and documented them.
  15.  
  16. (The following changes are due to Brian Raiter)
  17.  
  18. 4. Every one of the INTERCAl-72 messages is now emitted when appropriate.
  19.    including the previously un-emitted E000, E197, and E200 (and see below).
  20.  
  21. 5. A close reading (while proofing) of the sections of the manual on
  22.    error messages seems to indicate that splatted lines were only
  23.    splatted in the default listing printed after a successful
  24.    compile. (This seems to be a standard feature of IBM compilers; I
  25.    remember that RPG did this as well.) My understanding of the manual is
  26.    when the syntactically offensive line is encountered at runtime, it is
  27.    printed as error E000. I have modified the code to do this.
  28.  
  29. 6. I have fixed INTERCAL in order to add another bug. Namely, I have
  30.    implemented the BUG/NOBUG option in the Princeton compiler. By
  31.    default, there is a chance that INTERCAL will randomly insert error
  32.    E774 into your executable. (The odds are 1/128 per statement, not
  33.    counting COME FROMs. Is there any way to find out what the
  34.    Princeton compiler's odds were?) The new option -b turns this
  35.    feature off.
  36.  
  37. 7. The new file pit/lib/numio.i contains routines for wimpmode I/O.
  38.    These routines are documented in the file pit/lib/numio.doc.
  39.    It is my earnest hope that C-INTERCAL programmers everywhere will
  40.    flock to these handy routines, and C-INTERCAL users will thus no
  41.    longer need to fear that they might succumb to the foul and awful
  42.    temptation to use the dastardly +wimpmode option.
  43.  
  44.         Release 0.14 (by Eric S. Raymond) 9 Jun 1996
  45.  
  46. 1. The documentation has been reorganized and cleaned up (you can now
  47.    format either a C-INTERCAL or INTERCAL-72 manual from the same master).
  48.    The diagrams in the paper original have been transcribed as pic figures.
  49.    See doc/READ.ME for details.
  50.  
  51. 2. Yet more code.  The pit now includes a second random-number generator,
  52.    a ROT13 filter, and even two programs in TriINTERCAL!
  53.  
  54. 3. Louis Howell's corrected system library is now included.
  55.  
  56. 4. The distribution is now formally GPLed.
  57.  
  58.         Release 0.13 (by Eric S. Raymond) 5 Jun 1996
  59.  
  60. 1. I folded in patches by Brian Raiter <breadbox@muppetlabs.com> that port
  61.    this code to Linux and enable it to use flex.  Note: This version has
  62.    been tested on Linux and SunOS but not yet elsewhere.
  63.  
  64. 2. Another piece of nontrivial INTERCAL code has been found!  (Doubtless
  65.    hell is freezing over even as I write.)  We've added to the pit the
  66.    `beer' program by Matt DiMeo <mdimeo@brooktree.com>, courtesy of the
  67.    infamous Beer List (URL:http://www.ionet.net/~timtroyr/funhouse/beer.html).
  68.  
  69.         Release 0.12 (by Eric S. Raymond) 22 Mar 1995
  70.  
  71. 1. The code now compiles and runs under Linux, using bison and lex.  It does
  72.    *not* yet work with flex;  C.P. Osborne's patches for 0.11 turned out not
  73.    to be sufficient (at least for flex 2.4.6 under Linux using the -l option).
  74.    See the BUGS list.
  75.  
  76. 2. Note 3 under 0.11 was incorrect.  We're in conformance after all.
  77.  
  78. 3. The politesse check is a little smarter about programs too small to
  79.    conform to the 1/5-to-1/3 criterion.  All the pit programs have been
  80.    checked for conformance.  Also, the politesse error message now tells
  81.    you the offending program's line count.
  82.  
  83.         Release 0.11 (by Eric S. Raymond) 24 Sep 1994
  84.  
  85. 1. Incorporated changes by Jan-Pieter Cornet <cornet@OTech.fgg.EUR.nl> for
  86.    magical inclusion of the system library.  These address an outstanding bug
  87.  
  88.    2. (SS) The `system library' should be precompiled and `linked' to user
  89.       written code, at least optionally.  Doing this with the current compiler
  90.       presents a few problems.
  91.  
  92.    which has accordingly been removed from the BUGS file.  They also fix a
  93.    previously unknown bug; due to a minor oversight in the lexer, it was not
  94.    possible to ABSTAIN FROM WRITING IN or READING OUT.  Jan also contributed
  95.    a test program that demonstrates gerund abstention.
  96.  
  97. 2. Despite the obvious appeal of the idea, and much discussion on
  98.    alt.lang.intercal, I decided *not* to add Klingon; maintaining two parallel
  99.    grammars just so the compiler could support SVO and OSV languages would be
  100.    too painful.  There was also a minor mess near case-sensitivity in the
  101.    digits.  The workaround kluges I was offered instead failed to satisfy.
  102.  
  103. 3. We fess up to a violation of the INTERCAL-72 standard.  That implementation,
  104.    instead of accepting an entire multiple-digit number per line of input,
  105.    expected one digit per *card image* (input line).  It is unclear how 
  106.    INTERCAL-72 programs ever managed to input more than one number.
  107.  
  108. 4. Added patches by C.P.Osborne <boris@ibmpcug.co.uk> to make the lexer work
  109.    using flex, for Linux and BSD/386 support.  I didn't use his error-reporting
  110.    patch, though; instead, I changed the parser to catch errors at logical-line
  111.    level.  I also kept the N in `RESUBNIT'; this is a carefully preserved 
  112.    feature of INTERCAL-72.
  113.  
  114. 5. Volapuk digits are now recognized on input.  TO DO: Recognize Volapuk
  115.    keywords, including gerunds.
  116.  
  117.         Release 0.10 (by Eric S. Raymond) 9 Sep 1994
  118.  
  119. 1. It is now possible to undo a line-number abstention with a gerund
  120.    reinstatement, or undo a gerund abstention with a line-number 
  121.    reinstatement.  In previous versions, gerund abstention/reinstatements and
  122.    line-number abstention/reinstatements were independent of each other.
  123.  
  124. 2. After release 0.5, I wrote in the TO DO list as follows:
  125.   
  126.    2. (ESR) Input format internationalization -- allow WRITE IN input digits in
  127.      major languages such as Nahuatl, Tagalog, Sanskrit, and Basque.
  128.   
  129.    The twisted loons in the alt.folklore.computers crowd loved this idea,
  130.    and I actually got sent digit lists for Nahuatl, Tagalog, Sanskrit, and
  131.    Basque -- also, Kwakiutl, Georgian, Ojibwe, and Albanian.  I've left
  132.    out Albanian (didn't want to keep track of the dipthong diacritical)
  133.    and Ojibwe (no zero digit).  So: Nahuatl, Tagalog, Sanskrit, Basque,
  134.    Georgian, and Kwakiutl are now supported in addition to English.
  135.  
  136. 3. The THEORY document has been significantly revised.
  137.  
  138.         Release 0.9 (by Eric S. Raymond) 5 Mar 1993
  139.  
  140. 1. An embarrassing port bug in the INTERCAL skeleton has been fixed
  141.  
  142. 2. Jamie Zawinski's suggestion for an improved E333 error message has
  143.    been accepted.
  144.  
  145. 3. Added and improved documentation for pit programs.
  146.  
  147. 4. The install production in the Makefile now puts lose.h in place
  148.    as well as cesspool.h.
  149.  
  150. 5. You can now set the C compiler to be used as a back end by INTERCAL
  151.    by setting the environment variable CC.  The default is cc.
  152.  
  153.         Release 0.8 (many hacks on 0.7 by Eric Raymond) 21 Jan 1992
  154.  
  155. 1. A previously undocumented `feature' of the Princeton compiler,
  156.    revealed by Don Woods, is now emulated.  If fewer than 1/5 or more
  157.    than 1/3 of a program's statements contain the qualifier `PLEASE', the
  158.    program is rejected with an entertaining error message.  Programs in pit
  159.    have been hacked to pass the politesse test.
  160.  
  161. 2. The `sample' program now works correctly, thanks to Louis Howell.  Also,
  162.    he has contributed new programs to calculate pi and to search for prime
  163.    numbers.
  164.  
  165. 3. An intercal mode for GNU Emacs is included.  It helps programmers deal with
  166.    the new politesse check by randomly expanding the abbrev "do" to DO PLEASE
  167.    or PLEASE DO about 1/4 of the time.
  168.  
  169. 4. Improvements in code generation for NEXT/RESUME.
  170.  
  171. 5. Fixes to the optimizer; it handles the results of optimized MINGLEs
  172.    correctly now.  Also, added a rewrite rule that checks for the
  173.    equality-test idiom using XOR.
  174.  
  175. 6. The original error messages from the Princeton compiler have been restored.
  176.  
  177. The documentation has been updated to reflect these changes.
  178.  
  179.         Release 0.7 (by Louis Howell) 21 Dec 1991
  180.  
  181. In addition to bug fixes, new features in this version include arrays,
  182. character I/O, modified (hopefully improved!) semantics for the COME
  183. FROM statement, extensions to bases other than 2, new INTERCAL programs,
  184. and new documentation.
  185.  
  186.         Release 0.6 (by Steve Swales) 5 Jan 1991
  187.  
  188. 1. Restored Princeton documentation (courtesy of Michael Ernst).
  189.  
  190. 2. Added -@ usage option to ick.
  191.  
  192. 3. Added [+/-]help, [+/-]traditional, and [+/-]wimpmode options for
  193. generated programs; [+/-]traditional is a no-op at this point.
  194.  
  195. 4. Various bug fixes, esp. in lexical analysis.
  196.  
  197.         Release 0.5 (ESR's original pre-release) 5 Jun 1990
  198.  
  199. 1. As a convenience to all you junior birdmen out there, `NINER' is accepted as
  200.    a synonym for `NINE' in INTERCAL input.
  201.  
  202. 2. The COME FROM statement is now compiled. 
  203.  
  204.             -------------
  205.  
  206. The resurrection of INTERCAL from its grave took place on 12 May 90
  207. when ESR released 0.3 on an unsuspecting USENET.
  208.  
  209.