]> thyrsus.com Git - intercal.git/commitdiff
Update news, readme, manpage
authorAlex Smith <ais523@bham.ac.uk>
Fri, 3 Sep 2010 00:10:44 +0000 (01:10 +0100)
committerAlex Smith <ais523@bham.ac.uk>
Fri, 3 Sep 2010 00:10:44 +0000 (01:10 +0100)
NEWS
README
doc/ick.1

diff --git a/NEWS b/NEWS
index 3f8eb7acd4b0a2faa0cb7fc2ff3ec814d4eae15d..c2915b339479702c9ceb97af7f38fa7a32ee3fac 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -4,26 +4,28 @@
 
 Changes by Eric S. Raymond
 
-1. There is now a compiler regression-test suite, invoked through the test 
-   production in the pit makefile
+1.  There is now a compiler regression-test suite, invoked through the test 
+    production in the pit makefile.
 
-2. There are two new compiler error messages, E990 and E994.
+2.  There are two new compiler error messages, E990 and E994.
 
-3. A new program for the pit: Brendan Gregg's guess game.
+3.  A new program for the pit: Brendan Gregg's guess game.
 
-4. The floating-point library is now automatically included if
-   a program NEXTs to labels in the range 5000-5999.  Internally,
-   line-range to system library mappings are no longer hardcoded but
-   rather declared as an array of associations that can be easily
-   modified.
+4.  The floating-point library is now automatically included if
+    a program NEXTs to labels in the range 5000-5999.  Internally,
+    line-range to system library mappings are no longer hardcoded but
+    rather declared as an array of associations that can be easily
+    modified.
+
+5.  The source now uses explicit bool, rather than using int everywhere.
 
 Bugs reported and changes patched by Arvid Norlander
 
-1.  Fixed a typo in the perpet.c version of the help information.
+6.  Fixed a typo in the perpet.c version of the help information.
 
-2.  Fixed the CREATE statement to work on 64-bit architectures.
+7.  Fixed the CREATE statement to work on 64-bit architectures.
 
-3.  The availability of variable argument list mechanisms is now determined
+8.  The availability of variable argument list mechanisms is now determined
     automatically by the configure script, rather than relying on the old
     method of checking which usually gets the wrong answer with modern
     compilers, leading to build failures on many modern systems (previously
@@ -32,30 +34,30 @@ Bugs reported and changes patched by Arvid Norlander
     DOS, FreeBSD and Mac OS X, and possibly affects other platforms. (also
     reported independently by Elliott Hird)
 
-4.  Fixed some nonsense in the -@ help screen that was generated by an errant
+9.  Fixed some nonsense in the -@ help screen that was generated by an errant
     search-and-replace.
 
-5.  Made several changes to bring the new Befunge-98 interface code (see
+10. Made several changes to bring the new Befunge-98 interface code (see
     below) in line with changes in the Befunge-98 interpreter in use.
 
-6.  Added consts and statics in the code, hopefully to make bugs easier to
+11. Added consts and statics in the code, hopefully to make bugs easier to
     notice.
 
-7.  Refactored main(). It needed it, badly.
+12. Refactored main(). It needed it, badly.
 
 Bugs reported by Elliott Hird
 
-8.  Fixed the configure script to work with the default Debian shell dash.
+13. Fixed the configure script to work with the default Debian shell dash.
     (also reported independently by Debian)
 
-9.  Actually fixed unlambda.i; the fix was meant to be in 0.28, and is
+14. Actually fixed unlambda.i; the fix was meant to be in 0.28, and is
     described in its changelog, but for some reason never made it to
     the distributed tarball.
 
-10. The -F option again works. (AIS: I accidentally broke it in the preceding
+15. The -F option again works. (AIS: I accidentally broke it in the preceding
     version, making it basically a no-op by mistake.)
 
-11. The build now succeeds (with warnings) when lex or yacc are missing,
+16. The build now succeeds (with warnings) when lex or yacc are missing,
     rather than failing with mysterious error messages that seem to have
     nothing to do with the problems. (The success is made possible by using
     the prebuilt versions; see change 11 of version 0.26, this is finishing
@@ -63,23 +65,23 @@ Bugs reported by Elliott Hird
 
 Bugs reported, changes requested, and patches by Joris Huizer
 
-12. The [xoritself] optimiser idiom has been generalised to handle some
+17. The [xoritself] optimiser idiom has been generalised to handle some
     situations where the redundant XOR operands are on different grouping
     levels; this helps to optimise some heavily inlined greater-than tests.
 
-13. Fixed unary operators applied to constants (AIS: it seems that my patch to
+18. Fixed unary operators applied to constants (AIS: it seems that my patch to
     solve this issue earlier was itself buggy).
 
-14. The -g option now causes optimisation of the output compiled C to be
+19. The -g option now causes optimisation of the output compiled C to be
     turned off, and adds comments to the output file the same way -c does.
 
-15. Added more optimiser idioms: [cxorand16], [cxorand32], [cfoldintoorinand],
+20. Added more optimiser idioms: [cxorand16], [cxorand32], [cfoldintoorinand],
     [or16and], [xor16and], [lshift32half], [rshiftoutofneg], [andoutofneg];
     also generalised the idiom-matching code to compare 16-bit and 32-bit
     constants as equal if they have the same value, and fixed some typos in
     the current 16-bit complement idioms.
 
-16. ABSTAINING or REINSTATING are now a lot more efficient, taking an amount
+21. ABSTAINING or REINSTATING are now a lot more efficient, taking an amount
     of time proportional to the number of commands effected, rather than the
     number of commands in the program. (AIS: I implemented this with the
     algorithm in the patch Joris provided, but with different code, to make it
@@ -87,16 +89,16 @@ Bugs reported, changes requested, and patches by Joris Huizer
 
 Changes by Stefan O'Rear
 
-17. Added INTERCAL syntax highlighting information for vim. Why should Emacs
+22. Added INTERCAL syntax highlighting information for vim. Why should Emacs
     have all the fun?
 
 Changes reported by Phantom Hoover
 
-18. Fixed a nasty documentation typo.
+23. Fixed a nasty documentation typo.
 
 Changes reported by the Debian autobuilders and Joey Hess
 
-19. The build of the optimiser idioms is now split over many files, to reduce
+24. The build of the optimiser idioms is now split over many files, to reduce
     the memory usage of gcc when it tries to compile the giant output C file.
     This was a problem on ia64. (The ulimit method of preventing thrashing has
     been removed, as this method works better; likewise, the optimiser
@@ -104,7 +106,7 @@ Changes reported by the Debian autobuilders and Joey Hess
 
 Changes by Alex Smith
 
-20. The build system has been completely redone, again; it now uses automake
+25. The build system has been completely redone, again; it now uses automake
     as well as a much newer version of autoconf. This means that there is now
     one build system that works the same way on all systems, and that all
     sorts of clever tricks like out-of-tree builds, a self-rebuilding build
@@ -114,7 +116,7 @@ Changes by Alex Smith
     still there, but now there's prebuilt instead of temp, an extra directory
     buildaux, and bin, lib and include have disappeared.
 
-21. The distribution now comes in compressed pax format. (Before anyone
+26. The distribution now comes in compressed pax format. (Before anyone
     complains that they have no idea what that is, or that I'm using something
     strange and nonstandard, I'd like to point out that tar is no longer part
     of POSIX, but that pax is. (See man 5 tar on a recent Linux system for
@@ -122,20 +124,20 @@ Changes by Alex Smith
     so tar readers should be able to read it just fine, if you can't get your
     hands on a pax reader.)
 
-22. convickt can now produce its output as INTERCAL initialisation of a tail
+27. convickt can now produce its output as INTERCAL initialisation of a tail
     array. (This doesn't auto-offset between the different characters; it is
     therefore mostly useful for producing Baudot arrays for CLC-INTERCAL-style
     IO.)
 
-23. The function clock_gettime is now supported by the yuk profiler as an
+28. The function clock_gettime is now supported by the yuk profiler as an
     alternative method of getting a high-resolution clock for profiling (it
     is available on at least Linux).
 
-24. The profiler now autodetects the same profiling mechanism at compile
+29. The profiler now autodetects the same profiling mechanism at compile
     time and at run time. (It was getting confused as to what mechanism it was
     using, causing some really weird bugs.)
 
-25. Added support for computed CREATE (the computation is done at create-time,
+30. Added support for computed CREATE (the computation is done at create-time,
     rather than when the unknown statement is encountered); partly because
     this was rather easy, but mostly because it can be used to simulate a
     computed NEXT, thus making the example expansion library compunex (which I
@@ -147,13 +149,13 @@ Changes by Alex Smith
     features of NEXT, anyway, rather than the small subset COMPUNEX could
     manage.)
 
-26. Plugged a couple of small memory leaks; however, there are still several
+31. Plugged a couple of small memory leaks; however, there are still several
     much bigger memory leaks that could do with being fixed.
 
-27. Added support for CREATING operators, with similar syntax to the CREATION
+32. Added support for CREATING operators, with similar syntax to the CREATION
     of commands.  This requires the -ea options to be set to work properly.
 
-28. More file extensions are now supported by the external calls system. The
+33. More file extensions are now supported by the external calls system. The
     .c99 extension indicates a C99 (rather than C89) file; all .c99 files are
     preprocessed as C99, and if any C99 files are used the final compilation
     which compiles and links everything will be done as C99 rather than C89
@@ -165,24 +167,28 @@ Changes by Alex Smith
     locations instead of the current directory.) Other .a files can be linked
     in from the current directory.
 
-29. Fixed the handling of division by zero in the syslibc expansion library.
+34. Fixed the handling of division by zero in the syslibc expansion library.
     (The Revamped Manual states 'In all cases, division by 0 returns 0'.)
 
-30. Made several changes to the documentation, including fixes for some rather
+35. Made several changes to the documentation, including fixes for some rather
     nasty typos (two of the worst were specifying variables as IGNORED by
     default, and stating that select acts like OR in TriIntercal!).
 
-31. Fixed a bug in the external calls system that made it impossible to write
+36. Fixed a bug in the external calls system that made it impossible to write
     a COME FROM in more than one file at a time whilst still having the
     resulting program work reliably.
 
-32. Added support for external calls to Befunge-98 programs; however, this
+37. Added support for external calls to Befunge-98 programs; however, this
     distribution does not ship with a Funge-98 interpreter, so in order to use
     this feature you will first have to compile a Funge-98 interpreter into a
     library for use with C-INTERCAL (see README.txt or the Revamped Manual for
     information on this). Also added a test program for this to the pit.
 
-33. Fixed some bugs in the go-away command in interfunge.i.
+38. Fixed some bugs in the go-away command in interfunge.i.
+
+39. Fixed many bugs in the optimiser, and added a fuzz-tester ("make fuzz") for
+    the optimiser which has a chance at finding any new optimiser bugs that may
+    be introduced, or any that the maintainers don't know about.
 
   Release 0.28 (by Alex Smith) 1 Apr 2008
 
diff --git a/README b/README
index 9fe7fd7fca8bc0da6379ba3fe6921851c4ffcdc9..365ae0c087550482fce63765c7b5b1f6b5213901 100644 (file)
--- a/README
+++ b/README
@@ -9,7 +9,9 @@ it down.
 This implementation was created by Eric S. Raymond <esr@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, Brian Raiter, Alex Smith, Joris Huizer and others.  For detailed
+Howell, Brian Raiter, Joris Huizer and others.  Alex Smith took over as
+maintainer from version 0.25 onwards; this release, 0.29, is a unified deforking
+of C-INTERCAL with Alex Smith and Eric S. Raymond as comaintainers. For detailed
 credits see NEWS.
 
                                      FILES
@@ -31,10 +33,11 @@ doc/READ.ME             -- historical notes on the docs
 doc/ick.txi             -- the Revamped Manual sources, a newer manual
 doc/fdl-1-2.txi         -- the GNU FDL version 1.2 in Texinfo format
 doc/ick.txt             -- the Revamped Manual in plain text format
-doc/ick.info            -- the Revamped Manual in Info format
+doc/ick.info*           -- the Revamped Manual in Info format
 doc/ickstyle.css       -- styling rules for the Revamped Manual in HTML
 doc/tidy.cfg           -- HTML tidying rules for the Revamped Manual
 doc/fix83.pl            -- script to fixup the HTML output for 8.3 systems
+doc/fixtoc.pl           -- script to format the manual table of contents
 doc/intercal.mm         -- the old manual in groffable form
 doc/Makefile            -- makefile to build old and new manuals
 doc/THEORY.txt          -- some notes on the internals of the INTERCAL compiler
@@ -47,11 +50,8 @@ src/arrgghh.c           -- option argument parsing for generated programs
 src/bin2c.c             -- creates C code representations of binary files
 src/cesspool.c          -- the INTERCAL runtime support code
 src/clc-cset.c          -- compatibility code for CLC-INTERCAL character sets
-src/csetstub.c          -- small file to allow convickt to link
-src/configh.in          -- config.h template generated by autoheader
-src/configdj.h          -- config.h substitute for DJGPP without config.sh
 src/convickt.c          -- command line character set converter
-src/coopt.sh            -- script to help out the -F optimizer (POSIX only)
+src/cooptsh.in          -- template for script to help out the -F optimizer
 src/dekludge.c          -- INTERCAL optimizer wrapper and utility functions
 src/feh.h               -- interface to INTERCAL-to-C code generator
 src/feh2.c              -- INTERCAL-to-C code generator
@@ -87,26 +87,29 @@ etc/interfuzz.pl        -- fuzz-tester for the optimiser
 etc/cftoec.sh          -- script to convert cfunge to a library (see below)
 etc/IFFI*               -- input to that script
 etc/cfunge.patch        -- more input to that script
-etc/temp                -- temporary directory used by that script
 
 configure               -- GNU Autoconf script that generates a Makefile
 configure.ac            -- autoconf source for configure
 Makefile.in             -- template Makefile for compiling C-INTERCAL
 Makefile.am             -- automake source for Makefile.in
 
-buildaux/*              -- helper scripts for the build provided by automake
+buildaux/*              -- helper scripts and templates used by the build
 aclocal.m4              -- helper file needed to build the build system itself
 
 pit/*                   -- sample INTERCAL code; see pit/CATALOG
 pit/tests/*             -- INTERCAL code provided specifically for testing
 pit/explib/*            -- source code for expansion libraries
+pit/lib/*.i             -- sample INTERCAL libraries
 pit/lib/syslib*.*i      -- source code for the system libraries
+pit/*.doc               -- documentation for sample INTERCAL code
+pit/*.tst               -- sample inputs for sample INTERCAL code
+pit/*.chk               -- sample outputs for sample INTERCAL code
 
                               HOW TO GET STARTED
 
 First, note that there is a much fuller manual than this file available. For
 full information about C-INTERCAL, including extensive installation and usage
-instructions, see that one; run `info -f doc/ick.inf', or failing that read
+instructions, see that one; run `info -f doc/ick.info', or failing that read
 the plain text version at doc/ick.txt. (You can build a variety of other
 formats as well, such as HTML and PDF, using the Makefile in the doc
 directory.) After C-INTERCAL is installed, the manual is also available with
@@ -147,9 +150,10 @@ use it... the default is -wimpmode (i.e. NOT wimp mode)."
 
                               SPREADING THE BLAME
 
-There is an INTERCAL Resource Page at http://www.catb.org/intercal, and
-another at http://intercal.freeshell.org.  Both point at the same C-INTERCAL
-repository, which lives at git://gitorious.org/intercal/intercal.git; 
+There is an INTERCAL Resource Page at http://www.catb.org/intercal, and another
+at http://intercal.freeshell.org; http://c.intercal.org.uk contains a few
+bare-bones details about this compiler in particular.  All point at the same
+C-INTERCAL repository, which lives at git://gitorious.org/intercal/intercal.git;
 the freeshell page also distributes CLC-INTERCAL, a variant implementation.
 
 There is, in addition, an occasionally active USENET newsgroup devoted to the
index 3ccacfd5283990e887a686cef244712a0a807c09..a5ad5ae1ffd26c2211f7274b217aa32cd9376288 100644 (file)
--- a/doc/ick.1
+++ b/doc/ick.1
@@ -156,9 +156,8 @@ The newsgroup
 .B alt.lang.intercal
 is where INTERCAL compilers are announced, and INTERCAL itself is
 discussed; the website
-.B http://intercal.freeshell.org
-is where the most recent versions of C-INTERCAL (and also
-CLC-INTERCAL) are currently hosted.
+.B http://c.intercal.org.uk
+will normally contain links to the most recent version of C-INTERCAL.
 .
 .SH AUTHOR
 .B ick