			BUGS

There are still some known bugs in INTERCAL (and no doubt many we don't even
suspect as yet).  The following list accumulates current bug reports and
TO DO agenda items from the major INTERCAL hackers through version 0.13.

ESR = Eric S. Raymond
SS  = Steve Swales
LLH = Louis Howell

1) (ESR) INTERCAL would be intrinsically a crock even if it worked right.

2) (ESR) Error-checking could be improved.  Not all the errors listed in the
   manual are actually detected (of those listed in lose.h, E000, E197, E200,
   and E774 are never emitted).  In this respect C-INTERCAL follows
   nobly in the tradition of many production compilers.

3) (SS) The system library syslib.i does not appear to work 100% as advertised.

4) (LLH) The lexical analyzer is not completely independent of newlines.
   There is a conflict between the fact that newlines should be
   ignored almost everywhere, and the facts that the error mechanism
   wants to know about line numbers and the splat mechanism wants
   statements from the original program.

   The way these issues are currently resolved by the compiler is
   a bit over-complicated, but seems to work properly in almost
   every respect.  I see only two problems:  First, splat operation
   prints only the text line on which a typo was detected, not the
   whole statement.  Second, for debugging purposes the text lines
   are printed as comments in the degenerated C code.  These
   comments are only properly aligned with the degenerated code
   if the program has exactly one statement per line.  (See
   pit/tests/testsplat.i for examples.)

   Neither of these problems is a big deal, which is why I haven't
   worried about them too much.  The best solution I can see is
   to make "phase 1" of the lexer into a preprocessor able to
   correctly separate statements.  It could then either add or
   remove newlines to put the program into one statement per line
   format, or put markers between statements for the main lexer
   to detect.  Either way, it would be a good bit of work for a
   relatively small gain, and anyone trying it should make sure
   the result isn't buggier than the current version.

			TO DO

1. (ESR) Add more optimization templates, esp. the idioms for &, |, ^, ~.

2. (ESR) Forget this @!%$#! crock and take a long vacation.
