$Id: History,v 1.182 1997/08/12 03:53:03 phil Exp $

The Macro Implementation of SNOBOL4 in C (C-MAINBOL) history

******** RCS tag BETA7

8/11/97:
	version.c: upped to 0.99.4
	CHANGES, README: updated
	doc/snobol4.1: updated date
	doc/load.doc: new sections on shared libraries, I/O functions
	doc/ports.doc: updated version numbers

8/10/97:
	timing.sno: calculate FACTOR before using it! use CHECKHZ()!!
	new test: any

8/8/97:
	doc/ports.doc: updated

8/6/97:
	Makefile: use ./configure
	Makefile2.m4: added configure to tar

8/5/97:
	v311.sil procs syntax.tbl: Code from SNOBOL4+
		seperate syntax tables for BREAK(X) and SPAN
		simple index lookup for ANY/NOTANY
	lib/stream.c: new any() function

8/1/97:
	autoconf: general cleanup
		commented out irix64 detection (does not yet work)
	lib/stream.c: optimized clertb() -- 4% reduction in genc runtime!!

7/26/97:
	gensyn.sno: include h.h before syntab.h for non-ANSI compilers (sos4)
	sunmodel: use hostid on systems without openprom
	timing.sno: use REM to capture version number
	timing: removed "who am i"
	doc/ports.doc: updated

7/25/97:
	v311.sil: cleaned up clearing of compiler variables
	lib/auxil/bzero.c: zero blocks of "words"

7/18/97:
	autoconf: revamped gcc testing for Solaris/x86

7/16/97:
	doc/ports.doc: updated

7/11/97:
	autoconf: use CCVERS to output comments
		add --force-memmove; check for memmove in string.h if
			no bcopy(); define USE_MEMMOVE
	include/macros.h: added USE_MEMMOVE USE_MEMCMP ifdefs
		USE_MEMCMP not set; only necessary if DCMP_BYTES in use (rare)
	lib/bsd/inet.c: include macros.h for bcopy redefn
	INSTALL: document --force-memmove
	doc/ports.doc: updated

7/7/97:
	README CHANGES: updated for 0.99.4

7/6/97:
	init.c: deal with long arg vectors; created getargs() -- no static bufs
	lib/snolib/retstring.c: return long strings -- no static buf

7/5/97:
	autoconf: redirect grep output to /dev/null
	version.c: upped to ".3++" (pre .4 testing)
	doc/ports.doc: updated with "3++" timings

7/4/97:
	Makefile: made Makefile2 precious
	INSTALL: add --no-dlopen --no-dynlib
	doc/snobol4.1: add IO_FINDUNIT(), unit range, /dev/fd/n, dlopen(3)
	doc/porting.ms: add NO_FDOPEN

7/3/97:
	lib/io.c: add /dev/fd/ magic path, NO_FDOPEN ifdef
		add FL_NOCLOSE flag bit (but do fflush)
		have I/O close return status from (p|f)close
		have io_findunit() keep static finger
		Upped MAXUNIT to 256
	lib/snolib/findunit.c: PML access to io_findunit()
	pml.h: add IO_FINDUNIT
	Makefile2.m4: add findunit.c
	new tests longline, longrec

7/2/97:
	v311.sil: upped CARDSZ to 1024 again. For David J Birnbaum

7/1/97:
	lib/io.c: soak up excess "record" data after newline in ASCII input
		(problem reported by David J Birnbaum)
		Return full recl's worth of data for EOL mode ASCII input
			used to return recl-1; replaced fgets()

6/23/97:
	timing: cat /proc/meminfo on linux

6/22/97:
	lib/io.c: have T mode I/O imply unbuffered (for tty prompts)
	lib/snolib/getstring.c: handle null string
	tested resp.sno (see spring 1985)
	Makefile2.m4: add SNOLIB_FILE variable
	autoconf: check for bcopy() and bzero() in string.h
		alter SNOLIB_FILE when using dynamic linking

6/21/97:
	timing: use HP-UX "model" command, if present
	doc/snobol4.1: updated exponent info

6/20/97:
	lib/aux/bcopy.c: use (long) for casts
	ports.doc: updated

6/19/97:
	autoconf: look for /lib/libdl (for Linux)
	gensyn.sno: removed letter D from EXP class
	lib/ansi/convert.c: removed extra strtod() arg
	lib/realst.c: expanded buffer
		use "g" format (but make sure output doesn't look like an int)
		will use exponentials if output smaller.
		eliminates trailing zeroes, inaccurate output;
		(ie; 1e12 output as 999999995904.000000,
		 1.e14 output as 100000000376832.000000)
	syntax.tbl: allow exponent's without fractions (ie; 1e5), like SPITBOL
	timing: cat /proc/cpuinfo (if present) on Linux
		dump hw sysctl info on BSD systems
	updated test output for realst change for;
		conv2.ref float.ref pow.ref space.ref spit.ref

5/27/97:
	lib/str.c: add spec2str() utility
	lib/bsd/load.c lib/unix98/load.c lib/dummy/load.c lib/hpux/load.c:
		make consistant; use spec2str, check for abs path
			clear V/F fields in function pointer
	autoconf: use hpux/load.c on HP's with dl.h

5/22/97:
	lib/bsd/load.c lib/unix98/load.c:
		fix "next" pointer setup
	new lib/hpux/load.c

5/21/97:
	gendata.sno gensyn.sno parms.h data_init.c v311.sil version.c
	Makefile2.m4 lib/ansi/convert.c lib/generic/convert.c
	lib/dump.c lib/endex.c lib/str.c lib/ordvst.c lib/init.c:
		Created "struct res" for resident data.  All data now
		in named members, for easier debug.  Expressions now
		legal in SIL ARRAY macro!  flushed duplicate COPYSP decl.
		New machine generated res.h file.
	lib/stream.c:
		use isspace() in trimsp().

5/20/97:
	genc.sno lib/endex.c include/macros.h parms.h:
		applied 10/10/96 tailcall depth stats changes
		all tailcalls use "BRANCH()" macro
		don't output PANIC() if LIVE not set
		9% reduction in isnobol4.c size
	genc.sno include/macros.h:
		moved RSTSTK() to RETURN() macro
		"alt" variable never needed,
		no need to bracket/indent calls
		5% reduction in isnobol4.c size

5/17/97:
	lib/str.c: TRIM tabs as well as spaces, like SPITBOL
	test/trim{0,1}.{sno.ref}: added tab tests

5/3/97:
	lib/unix98/load.c: check for name with _ prepended
		if not found (for NetBSD/pc532)

4/24/97:
	autoconf: added comments, $(SRCDIR) on XXX_C= lines

4/17/97:
	Makefile, Makefile2.m4: use mv -f throughout
	tested dlopen() on OSF/1, SGI

4/14/97:
	config/irix64.m4: ditch long long
	autoconf: check for libdl

4/13/97:
	new lib/unix98/load.c: load support using dlopen()
	autoconf: check for dlfcn.h, added --no-dlopen

4/5/97:
	doc/snobol4.1: document DATE() args
	autoconf, timing: added CCVERS for C Compiler version
	autoconf: new options --add-{cppflags,ldflags,objs,opt,srcs}= --opt=
	INSTALL: document new autoconf options

4/2/97:
	genc.sno, v311.sil, lib/date.c: support SPITBOL DATE() args
	doc/ports.doc: 486SX33

3/27/97:
	doc/snobol4.1: typo tweaks

3/7/97:
	doc/ports.doc: lots of new stuff from Rik Faith
		reformatted: removed "conf" column, added "opt"

******** RCS tag BETA6

2/12/97:
	autoconf: added sun4u and define __SPARCV9__
	lib/bsd/dynamic.c: add vm_gc_advise()
	lib/generic/dynamic.c: add vm_gc_advise
	lib/io.c: default SNOLIB_DIR to "./" (for DOS)
	v311.sil: add calls to vm_gc_advise()
	version.c: upped version to 0.99.3
	config/borland/build.bat: new version from Steve Kibbler
	config/borland/README: updated
	doc/ports.doc: new ss2 timing
	diffall: take TAG arg
	README: upped version to 0.99.3
	CHANGES: updated

12/25/96:
	autoconf: added openbsd
	config.guess: updated to latest (knows openbsd)
	doc/ports.doc: add openbsd/486, hpux7

12/10/96:
	README: mention SNOBOL4 list, new contributors
	lib/ansi/convert.c, lib/generic/convert.c:
		apply length limit.  EVAL() can pass big strings!
		bug reported by p.a.coppen

12/07/96:
	second last TMRC open house in Bldg 20
	init.c: mention "k" suffix in usage message, per skibler
	lib/auxil/getopt.c: reorder includes for borland 4.51, per skibler
	lib/dummy/tty.c: add h.h for FALSE, per skibler
	lib/generic/sys.c: fixed ANSI_STRINGS ifdef sense. ran comdef

12/04/96:
	autoconf: grep strings.h for "index" before using BSD functions

******** RCS tag BETA5

11/28/96:
	timing.sno: made NOTIME error non-fatal
	doc/ports.doc: added bsdi
	checked out on AIX 4.1.2

11/27/96:
	README: updated version
	INSTALL: ./autoconf
	genc.sno: renamed raise() to raise1() to avoid ANSI raise() function
	lib/str.c: raise() -> raise1()
	doc/ports.doc: added HP 720/HP-UX 9.05
	version.c: upped version to 0.99.2
	checked out on HP-UX 9.05, SunOS 5.4, SunOS 4.1.4

11/24/96:
	doc/ports.doc: new timings

11/19/96:
	CHANGES: updated

11/14/96:
	timing.sno: output $rev$
	config/gcc.m4: removed obsolete(?) SNOBOL4_CFLAGS=$(SNOBOL4_C_CFLAGS)
	config/hpux.m4: changed -D_INCLUDE_POSIX_SOURCE to -D_HPUX_SOURCE

11/13/96:
	timing, timing.sno:
		output on genc.sno to stdout, stderr
		move stdout compare check out of timing.sno
		allow times +/-1, +/-5%
	autoconf: avoid gcc on hppa-hpux
	test/clean.sh: rm *.bin

11/12/96:
	autoconf: check for sys/ttyio.h, define USE_TTYIO
	lib/bsd/tty.c: add USE_TTYIO ifdef for Version 10

11/11/96:
	INSTALL: change tcp.c to inet.c

11/08/96:
	doc/ports.doc: Ultra 170E, 200MHz PPro

11/06/96:
	lib/io.c: export io_mkfile(), call io_closeall(), return a value
		add /udp magic path
		add {STDOUT,STDERR,TERMIN}_NAME defines
		add io_findunit(), io_getfp(),
			export io_closeall() for PML'ed I/O
		renamed FOPEN_NO_B to NO_FOPEN_B
		add comments (incl. "close hook" idea)
	lib/bsd/inet.c: make "priv" open for UDP fail
		use INADDR_NONE; define our own if none avail
	Makefile: add xsnobol4 tag, $(TARGET)
	doc/ports.doc: timing for 110Mhz SS5

11/05/96:
	doc/ports.doc: timing for netbsd/sparc on 4/110
		clock speeds for A3000, 4/100
	put allrcs, diffall, tagall under RCS

11/04/96:
	lib/io.c: fix "update I/O"; add "last" member to struct file and
		fseek() before direction changes
	test/tests.in: add update
	INSTALL: add c-mainbol-users-request addr
	fixed diffall to handle new files

10/30/96:
	autoconf: add option processing; --force-gcc, --no-gcc options
		add check for getopt in stdio.h; add getopt.o $(GETOPT_C)
		add comments on sgtty use
		use CCPATH more
	config/skel.inc, config/bsd43.m4: remove getopt.o $(GETOPT_C)
	doc/ports.doc: new P75, PPro175(!!) numbers
	doc/snobol4.1: fix typo
	checked out fresh copies of all files with old (two digit year)
		RCS Id's, for cleaner rcsdiffing
	INSTALL: talk more about what autoconf, Makefile2 do
		document autoconf options
	Makefile2.m4: remove old files in SNOLIB_DIR before installing new ones
		(thanks to Jerry Leichter)

10/29/96:
	config/hpux-pa.m4: add gcc -mlong-calls comments
	doc/ports.doc: got an Alpha model number

******** RCS tag BETA4

10/28/96:
	autoconf: fix c89 test, add isnan.o for m68k-hp-bsd
	config/bsd43.m4: remove isnan.o
	version.c: updated vdate
	doc/snobol4.1: updated date

10/27/96:
	lib/io.c: add USE_STDARG_H ifdefs (just in case)

10/26/96:
	Makefile2.m4: have io.o, load.o depend on $(MAKEFILE)
		use $(LD_PATH) for load.o
	INSTALL: no longer need to fuss with io.o, load.o
	autoconf: use generic/term.c if no unistd.h
	config/bsd43.m4: set LD_PATH, removed TERM_C
	timing: search PATH for uname
	lib/bsd/tty.c, lib/posix/tty.c:
		use tty_mode(stdin,0,0,0) for tty_save() AND tty_restore()!!
	lib/io.c: call tty_mode() in io_flushall if FL_TTY set

10/25/96:
	v311.sil: call io_flushall
	lib/io.c: add io_flushall, ran comdef, add comments
		add fp check in io_seek()
		include ctype.h
	lib/lexcmp.c: subtract lengths
	lib/bsd/inet.h: include ctype.h
	lib/snolib/host.c, lib/snolib/exit.c: call io_flushall
	autoconf: tweak *bsd*
	Makefile2.m4: add sunmodel to tar; add leading -'s in install
	config/bsd43.m4: add getopt, isnan
	doc/ports.doc: hp370/bsd43, pc532/netbsd
	include/macros.h: compare first char in LEXEQ macro
		NOTE: all timings for 0.99.1 include LEXEQ change
	tested on Mt. Xinu 4.3

10/24/96:
	INSTALL: updated
	new: sunmodel script
	timing: run sunmodel on SunOS, hinv on IRIX
		add cleanup trap
	Makefile2.m4: removed syn.c2 from GENERATED

10/23/96:
	new lib/generic/execute.c
	new lib/dummy/execute.c
	removed lib/dummy/execl.c
	lib/snolib/exit.c: use execute function
	Makefile2.m4: add execute.o EXECUTE_C, removed execl.o EXECL_C
	CHANGES: updated
	README: updated
	version.c: upped to 0.99.1
	tested on SunOS 5.4, IRIX 5.2

10/22/96:
	new lib/bsd/tty.c
	new lib/bsd/tty.c
	new lib/dummy/tty.c
	lib/posix/tty.c: add USE_TERMIO
	lib/io.c: free include list at end of compilation
	new config/irix64.4
	autoconf: use irix64.m4 on "IRIX64"
		add -lsocket if libsocket.a exists
		add -lnsl if libsocket.a exists and on "SunOS"
		use dummy/inet.c if no socket.h
		check for termios.h/termio.h/sgtty.h
	Makefile2.m4: mention ports.doc
	doc/porting.ms: updated
	doc/snobol4.1: fixed lq,rq

10/21/96:
	lib/io.c: pass recl to tty_mode; use fisatty, tty_close
	lib/posix/tty.c: add save list, tty_close, tty_mode recl arg
		add TTY_SAVE_RECL, TTY_RAW ifdefs
	doc/snobol4.1: updated

10/20/96:
	lib/io.c: fix so REWIND(5) works on stdin: clear fp->f in io_close
	lib/posix/tty.c: disable CR/LF translation, signal processing

10/19/96:
	v311.sil: add SPITBOL SET() function
	procs, globals: add SET
	lib/io.c: fix io_open[io] to allow rewind (set "head")
		add io_seek for SET()
		add /tcp magic path
	new lib/bsd/inet.c lib/dummy/inet.c
	Makefile2.m4: add inet.o INET_C

10/18/96 (my 35th birthday);
	lib/io.c: implement update, unbuffered, append, raw tty, noecho
		tty modes are per-unit!
	lib/posix/tty.c: POSIX.1 tty support
	lib/endex.c: call tty_restore()
	lib/init.c: call tty_save()
	Makefile2.m4: add tty.o TTY_C

10/17/96:
	hacked up a version to use gcc &&label construct and compile
	all of v311.sil as a monolithic function (no SYSCUT or UNDF
	entry points) benchmarked using genc.sno, snocone2.sno, atn.sno

10/15/96:
	v311.sil: use XCALLC for io_open[io]
		replace INPUT() 3'rd arg with options string
		pass options/format to io_open[io]
		get recl back from io_openi
	genc.sno:
		deprecated XOPEN[IO]
	lib/io.c:
		implement io_options, io_open[io] take new args
		implemented "terminal" mode

10/13/96:
	v311.sil: fixes from SNOBOL4+ to avoid "Internal Errors" on runout

10/12/96:
	v311.sil: fix error pointer again
		add COMPCL; don't show syntax errors after compilation done
		set &ERRTEXT with compilation error messages!

10/11/96:
	doc/ports.doc: updated
	v311.sil: don't crash on CODE() syntax errors

10/10/96:
	doc/ports.doc: updated

10/9/96
	test/spit.sno: enabled ? at top level
	test/tests.in: removed ntrace.sno -- covered in spit.sno
	performed analysis of functions inlined
	looked at longjmp'ing out of deep tail-calls
		(analyzed tail-call depths)

******** RCS tag BETA3

10/7/96
	TODO: updated
	CHANGES: updated
	INSTALL: wrote it
	doc/snobol4.1: updated
	doc/ports.doc: updated
	autoconf: fix CONFIG_GUESS; add netbsd-alpha, osf1-alpha
		add CCPATH (was GCCPATH)
	config/alpha.m4: split out from osf1.m4
	config/gcc.m4: let autoconf do CC=
	new: config/netbsd-alpha.m4 config/osf1-alpha.m4
	lib/bsd/load.c: undef N_SIZE for NetBSD
	lib/init.c: save signal number in SIGNCL
	v311.sil: display signam number (SIGNCL) from SYSCUT
	config.guess: latest version; added romp-ibm-aos
	Makefile: add spotless, install
	Makefile2.m4: add spotless, install
	tested on AOS/ACIS 4.3; NetBSD/Alpha 1.2
	version.c: upped to 0.99

10/6/96
	CHANGES: new
	INSTALL: empty place holder
	doc/porting.ms: updated
	Makefile2.m4: add CHANGES INSTALL to tar
		add syn.c, syn.c2 back to tar
	doc/ports.doc: updated
	tested on SunOS 4.1.3U1, 4.1.4, 5.4, 5.5;
		HP-UX 10.10; IRIX 5.2; AIX 4.1; OSF/1 3.2

10/5/96
	README: updated
	add bsplitu.c
	autoconf: ADD_OBJS/SRCS for bcopy, bzero
		flushed ANSI_STRINGS var; moved back to ADD_CPPFLAGS
		added SYSDEFS to sys.o (for -DOSNAME or -DHWNAME)
	Makefile2.m4: flushed ANSI_STRINGS var
		added SYSDEFS
		added rules for dummy files: execl.o getenv.o system.o
		worked on "make tar"
		use bsplitu in "make uu"
	config/skel.inc: removed ADD_OBJS/SRCS for bcopy, bzero
	lib/init.c: fix usage; show name, version, date, descr size
	new lib/dummy/{execl,getenv,system}.c
	doc/snobol4.1: updated

10/4/96
	new lib/generic/sys.c, lib/posix/sys.c
	lib/snolib/host.c: use osname(), hwname()
	autoconf: check for ranlib, set RANLIB
		check for sys/utsname.h; set SYS_C
		add CONFIG_GUESS, HAVE_UNISTD_H, ANSI_STRINGS
	Makefile2.m4: add SYS_C, sys.o
		use CONFIG_GUESS, HAVE_UNISTD_H, ANSI_STRINGS
	config/skel.inc: removed -DANSI_STRINGS
	Makefile: add local-config comment to Makefile2
	doc/porting.ms: updated
	v311.sil: more comment tweaking
		moved INCSTK to ICLBLK (sir.sno GC crashed compiler)
		increased FNLIST free space to 20 functions
	version.c: always include macros.h
		upped version to 0.98.5

10/2/96
	doc/load.sno: add polymorphic args/returns
	include/load.h: add RETTYPE macro
	autoconf: add comments about local-config to generated config.m4
	Makefile2.m4: add SNOLIB_SRCS for make depend; quote include for pv
	lib/init.c: round ndynamic, pmstack down to even number of descrs
	lib/pml.c: fix const pointer, rename PMLOAD to PMPROTO
	lib/snolib/host.c: use RETTYPE
	lib/snolib/exit.c: improve comments
	test/tests.in: add ntrace
	pml.h: add FILE() RENAME() DELETE(); changed PMLOAD to PMPROTO
	include/macros.h: removed D_XXX; declare ostack as global descr
	v311.sil: fixed space at end of FNLIST; upped STSIZE from 1000 to 1500
		dynamic allocation slows OFCHK!

9/30/96
	v311.sil: don't zap FILENM at XLATND in case only stmt is END!
		use getpmproto function
	lib/pml.c:
		made arrays const
		add getpmproto function
	include/path.h
		removed SNOLIB_A, SNOLIB_DIR defaults
	Makefile2.m4: fixed SNOLIB_A path
		add SNOLIB_DEFS (supply SNOLIB_DIR and SNOLIB_A values)
		add *.a to disposables

9/29/96
	v311.sil, procs, globals: renamed EXP to EXPOP
	renamed lib/{dummy,generic}/exp.c to lib/{dummy,generic}/expops.c
	autoconfig: include contents of local-config file, if any
	genc.sno: output '#define INLINING'
	param.h: add ifdef INLINING; inline hash.c
	pml.h: add HOST, EXIT, LOG, EXP, CHOP, SQRT, SIN, COS, TAN
		add NO_PML_{EXIT,HOST,REAL,TRIG}, ran comdef
	lib/hash.c: allow inlining
	lib/io.c: use HAVE_UNISTD_H, check for L_SET
	moved snolib/*.c to lib/snolib/
	Makefile2.m4: add AUX_OBJS, AUX_SRCS, SNOLIB_A
		add SNOLIB_A to regular link
		add -r flag (back?) to make clean
		add warning for make realclean
		renamed exp.c to expops.c
		add rules to build snolib.a
		moved AUX_OBJS to snolib.a
	version.c: 0.98.4

9/28/96
	doc/snobol4.1: ran ispell

9/27/96
	doc/snobol4.1: updated
	doc/Makefile: use groff; add snobol4.html, snobol4.ps, porting.html
	doc/design.doc: updated

9/25/96
	doc/snobol4.1: updated
	added sin.c, cos.c, tan.c, exp.c, log.c, sqrt.c, chop.c to snolib
	v311.sil: fixed autoload temp usage
	version.c: add snoname, made version strings "const" again
	Makefile2.m4: add RANLIB, compile pv with -I./include
	lib/init.c: added -h
	lib/io.c: check SNOLIB for INCLUDE files
		remove trailing NUL's in STPRNT when compiling
		plug NUL's with spaces in place
		Listings finally tamed?

9/24/96
	lib/init.c: cleaned up usage message; fixed getk(), -p/-D alloc
		have math_catch & err_catch take int arg
	genc.sno: pass hash() two args
	lib/hash.c: take two args; added lots of comments
		tried different ascention calculations, no big wins
	Makefile2.m4: added DATA_INIT_CFLAGS
	removed unused symlinks config/posix.m4, config/irix.m4
	timing: take snobol path and args
	timing.sno: get version, added CHECKHZ(), DIFF array
		add yet another time format for m68k-hpux8.0
		indicate line number of diff failure
		handle blank line at end of diff
	include/snotypes.h: added VFLD_T
	lib/io.c: use strncpy, S_L for %v/%S in io_printf
	doc/ports.doc: updated
	config/osf1.m4: set NO_BITFIELDS, use double for FLOAT_T
	v311.sil: add autoload!!
	procs: add LOAD2
	pml.c: add PMPROTO macro for autoload

9/23/96
	genc.sno: twiddle &INPUT (reduces some overhead)
	ports.doc: updated
	autoconf: (re)set CC when cc is gcc!
		show gcc version
		added HAVE_UNISTD_H define
	lib/init.c: cleanup, implemented -P (malloc pmstack)
		added getk(), -d takes bytes, k = 1024
	v311.sil: removed PDLBLK (now malloced in init)
		dropped SPDLDZ back to 5000
		tried doubling string hash table size (to 512)
			no big win (<2%); left it alone
	Makefile2.m4: updated -d arg

9/22/96
	v311.sil: use MOVA for &LAST(FILE|LINE) for speed
		handle tabs in error pointer code, moved FILCHK
		include file & line in compiler error messages
	test/tests.in: add line.sno err.sno reverse.sno
	lib/io.c: trim STPRNT output while compiling
	doc/snobol4.1: updated
	Makefile2.m4: fixed make tar
	version.c: upped version to 0.98.3

9/21/96
	v311.sil: added &PARM. fixed error number typos from yesterday.
	lib/init.c: added getparm()
	lib/date.c: use full julian year
	Makefile2.m4: removed vfprintf
	config/bsd43.m4 removed vfprintf
	deleted lib/auxil/vfprintf
	doc/snobol4.1: updated

9/19/96 & 9/20/96
	v311.sil:
		canonicalized lines with two edit numbers
			fixed some comment typos
		don't increment &STCOUNT if &STLIMIT < 0
			keep seperate stmt count for stats output
		add errors for bad INCLUDE, INCLUDE open error, missing END
		add &LINE &FILE and -LINE for real source line in errors
			use io_file to get initial (and subsequent filenms)
		add S4+ CTLADV proc, use for INCLUDE and LINE processing
		put all control card tests in a row
		add &LASTLINE &LASTFILE &ERRTEXT keywords
		changed formats; added file/line to errors
	lib/io.c: add NO_OFF_T, io_file
		removed quote removal in io_include
		implement conversions for io_printf for var/spec
	lib/init.c: implemented -M option for multifile input
		added SIGARG_T to SYSCUT prototype for picky compilers
	lib/lexcmp.c: fix for unequal string lengths by Keith Waclena
	README: added Keith Waclena
	test/tests.in: add lgt (by Keith Waclena)
	procs: add CTLADV, FILCHK, COMP1
	genc.sno: put &TRIM = 1 back for SNOBOL4+, allow _ in args
		pass addrs to io_printf, no more hacks for floats
	config/hpux-pa.m4: add -D_INCLUDE_POSIX_SOURCE for non gcc builds
	config/vms/build.com, config/vms/descrip.mms: add NO_OFF_T, SUBSTR defs
	autoconf: added undefine hpux, interferes with include file names!
	param.h include/macros.h: declare cstack only once (in snobol4.c)
	cc-M: reworked for #line output (AIX)
	Makefile2.m4: make GENERATED files newer than G2 versions
		add comments, cleanup & quoting in kitting
		compile, use pv
	version.c: moved version, ifdef MAIN back (for VMS)
		upped version to 0.98.2

9/18/96
	lib/auxil/getopt.c: fix ERR() for SUNpro (Sol2 fix)
	configure: fixed echo to stderr (Sol2 fix)
	doc/ports.doc: updated (new section for 0.98+)
	gendata.sno, genc.sno, gendep.sno: use TERMINAL, flush STDERR
		read SIL source from stdin
	Makefile2.m4: add SIL=, gendata.sno, genc.sno, gendep.sno read stdin
	timing: genc.sno takes SIL from stdin
	v311.sil: add REVERSE(), SUBSTR(), LEQ(), LGE(), LLE(), LLT(), LNE()
	globals: add REVERSE, SUBSTR, LEQ, LGE, LLE, LLT, LNE
	lib/str.c: support for REVERSE(), SUBSTR()
	test/tests.in: removed punch, added substr, lexcmp, space, space2
	Makefile: renamed configure to autoconf

9/17/96
	lib/tree.c: fixed INSERT (from SNOBOL4+)
	lib/dump.c: added dumpcode()
	added test/ops.sno
	now runs all GNAT SPITBOL programs
	version.c: use VERS/DATE, changed name to C-MAINBOL
	Makefile2.m4: Added VERS/VDATE (for version.c), use in make tar
		upped version to 0.98.1

9/12/96
	v311.sil: add TERMINAL variable associations for input & output
	include/units.h: UNITT for TERMINAL input
	lib/posix/term.c, lib/generic/term.c, lib/vms/term.c: term_input()
	lib/io.c: use term_input() to setup UNITT
	lib/hash.c: only look at first and last four! Thanks Mark!!
	Makefile2.m4: add TERM_C/term.c/term.o
	config/bsd43.m4; use generic/term.c
	config/vms/build.com, config/vms/descrip.mms; add term.c/term.o

9/11/96
	v311.sil: fix sort; edit [PLB31] added one MULTC too many

9/8/96
	v311.sil: only case fold strings in FIELD (fix from SNOBOL4+)
		upped SPLDSZ to 10k for snocone.sno
	lib/init.c: parameters support (-u and --) used by "external" host.c
	lib/stream.c: use unsigned char in stream/plugtb;
		ANY/NOTANY/BREAK/BREAKX/SPAN with 8-bit bytes
		were causing PREVIOUS table to get trashed!
	Makefile2.m4: make both isnobol4.c and snobol4.c PRECIOUS

9/6/96
	v311.sil: FREEZE()/THAW(), new table access code from SNOBOL4+
		added -EXECUTE/-NOEXECUTE control cards
		ran untabify (skipped RCS History)
		moved all [edit] ids to column 64+
		moved SORT to Arrays, Tables etc section
	include/snotyoes.h: add FRZN bit
	lib/ansi/convert.c, lib/generic/convert.c: strip leading
		spaces in spcint()/spreal() under SPITCL. Append
		terminator if using scanf() to detect if whole string
		was accepted (necessary for NUMERIC conversion)
	lib/init.c: updated usage(), added -n, parse up 'k' suffix on -d
	genc.sno: use FREEZE()/THAW(); 15% reduction in execute time!
	Makefile2.m4: added COPT, use -d<n>k
	doc/snobol4.1: updated
	globals: updated

9/4/96
	v311.sil: &STLIMIT < 0 means no limit, default to -1
		always case fold control card keywords
		disable stats by default
		default listing off (was being hit by init.c)
		removed EXPCL; default SPITCL to on
		fixed SPITBOL ? operator at top level
	lib/init.c: make -p toggle SPITCL, removed LISTCL hack
	gen{c,data,dep,syn}.sno: remove refs to &STLIMIT (and &TRIM)
	inline.sno: fix comment typo
	gensyn.sno, syntab.h: output syn.c2; made acts const
		tried making syntab's const; fails for SNABTB
	genc.sno: quiet warnings from PLUSOPS AEQLIC usage
	lib/pml.c: fix ifdef STDC typo
	timing: add/subtract -s switches
	version.c: upped to vers to 0.98, added "ifdef MAIN"
	Makefile2.m4: remove .c2/h2 files, added syn.c to SRCS (for depend)
		changed .c.TMP to .c2
9/3/96
	v311.sil: Add SPITBOL operators (under -PLUSOPS) from SNOBOL4+;
		embeded scan, assign, scan/replace, selection (comma),
		NUMERIC conversion.  value tracing for pattern match
		assignment.  allow multiple array/table accesses.
	syntax.tbl: added SPITBOL binop table, exponents on REALs
	gensyn.sno: upped STLIMIT, added EXP char class
	gendep.sno: fixed SPREAL, added SPCINT
	procs: updated
	timing: run config.guess
	gendata.sno: output data.h2 data.c2 equ.h2 data_init.h2
	Makefile2.m4: cmp || cp for .h2/c2 files
	globals: added CMA
	configure: include config.guess output
	lib/init.c: added -p option
	test/run.sh: pass additional ARGS

8/31/96
	v311.sil Add SPITBOL features with code from SNOBOL4+ and
		Minnesota SNOBOL4; CHAR(), RPAD()/LPAD(), BREAKX(),
		SORT()/RSORT().
	lib/str.c: added pad()
	genc.sno: added VCOMPC and NANCHK macros,
		optimize three-way with three different labels
		handle boolean with no labels (for XCALLC)
		output braces around escaped code
	renamed global.procs to globals
	gendep.sno: handle %{ %}, XCALLC, RCOMP, NANCHK, upped &STLIMIT
	Makefile2.m4: added isnan, configure, config.guess, globals
	added lib/dummy/isnan.c
	updated procs, doc/snobol4.1

8/29/96
	Tested on DS3100 (MIPS Ultrix -- 4.3 with a COFF)
	added config/ultrix-mips.m4
	updated ports.doc, configure

8/25/96
	Makefile: use new configure script
	configure: create config.m4 from thin air, using config.guess
	config.guess: GNU script

8/19/96
	Makefile2.m4: renamed lib/aux/ to lib/auxil/
		AUX is a reserved filename in DOS(?!) thanks to Mark Emmer
	genc.sno: added XCALLC, %{ %}, allow LC in arguments
		added -CASE 0 (try and win back some speed)
	v311.sno: added real VARVUP, VPXPTR (Thanks to Mark Emmer)
	procs: added VPXPTR
	str.c: added raise2
	Makefile2.m4: leave test.out at top level!

7/28/95
	timing: include config.m4 contents
	doc/snobol4.1: update &DUMP &ABEND and &CODE behaviors
	v311.sil: add VARVUP (copy of VARVAL for now)

5/15/95
	hp4xx port (3/95 -pb):
	config/hpux-68k.m4
	gendata.sno: cast values for D_V()
	updated ports.doc
	
3/15/85
	config/nextstep3.m4		(Thanks to Leigh Smith)
	updated ports.doc
	added tests/rewind1

3/7/95
	lib/io.c: struct unit: better rewind 	(Thanks to Leigh Smith)
	lib/pml.c: fix for nextstep compilation	(Thanks to Leigh Smith)

2/10/95
	lib/init.c, include/macros.h: implement [CLR_]MATH_ERROR()

2/3/95
	genc.sno: port improvements from experimental version:
		SELBRA() omits redundant labels
		new PLUS() functions omits "+ 0"
		include "else" in DOCMP2 and DOBOOL
		generate SHORTN/FSHRTN in-line
		Net change in snobol4.c size: +35 chars
	include/macros.h: removed SHORTN/FSHRTN
	Makefile2.m4: Add -b flag to SNO

1/25/95
	Makefile2.m4 config/{gcc,aix-rs6000,hpux,hpux-pa,skel.inc}.m4
		new ADD_XXX m4 macros

1/24/95
	lib/aux/getopt.c: fix endless comment
	Makefile2.m4: include CONFIG_CFLAGS in "make depend"

** BETA2 patch2 version 0.91.2 (tag BETA2_patch2)

1/20/95
	lib/io.c: check for std{in,out,err} before fclose()

1/13/95
	config/borland/build.bat: added -DANSI_STRINGS
	lib/aux/getopt.c: include h.h (for index)

1/10/95
	config/vms/build.com: use CFLAGS variable
	lib/io.c: hacks for "-", "/dev/stdin" and "/dev/stdout", cleanup
	genc.sno: generate return after endex call!
	timing.sno: added stmts/sec

1/7/95
	Merged in DOS Port (using 32-bit Borland C++ 4.0) by Mark Emmer!
	lib/generic/convert.c: check for empty strings, changed ifdefs
	lib/init.c: ifdef SIGBUS
	new files: lib/borland/mstime.c
		config/borland/build.bat config/borland/snobol4.lnk

	Alpha fixes;
	don't need "long long"
	lib/intspc.c: use %ld
	lib/realst.c: use %lf
	lib/ordvst.c: declare malloc() as returning pointer

1/6/95
	checked in 11/3/94 v311.sno, tests
	README, History: updated/fixed

	** Tested on AXP OpenVMS and DECC (1/4/94);
	lib/init.c: fix VMS typo
	lib/aux/getopt.c: use stdio.h
	lib/vms/getredirect.c: use unixio.h with DECC
	include/h.h: add index/bcmp defines under ANSI_STRINGS
	new files: config/vms/descrip.mms config/vms/build.com

	** Ported to AXP OSF/1 (1/5/94) -- has 64-bit integers!!
	Makefile2.m4; moved .PRECIOUS after first real target
		make TESTED depend snobol4.c
	Fix pointer/int sloppiness (sizeof(int) < sizeof(void*))!!
		gensyn.sno; cast pointers to int_t, move syntab.h include
		include/syntab.h; make put an int_t to hold pointers!
		include/macros.h; fix various stack macros casting to (int)!!!
		lib/stream.c; declare "tok" as "int_t"
	new files: config/osf1-alpha.h config/osf1-alpha-cc.h

11/3/94
	lib/ansi/mstime.c: ansi only version
	doc/porting.ms: update for above
	config/ansi.m4: config to use ansi mstime function
	config/generic.m4: added a comment
	v311.sil: quick fix for local variable case folding
	test/tests.in test/local.{sno,ref} tests for local var case folding

9/14/94
	timing, timing.sno: cleanup/improvements
	config/hpux-pa-cc.m4: new config for HPUX with native C compiler
	lib/date.c: tweak for VMS compilation (Martin Waller)
	charset.c: fix for SunOS5 SC3.0 compiler
	README: updated

9/13/94
	timing: AFS doesn't allow hard links across directories (Rik Faith)

9/3/94
	porting.ms, snobol4.1, load.doc, goals.doc, design.doc: ran ispell
	doc/Makefile: update for Solaris 2

9/2/94
	README: fixed spellings!

8/8/94
	lib/ordvst: got rid of a warning
	config/posix-cc.m4: new. used/tested on SunOS 5.3
	config/sunos5.m4: now a symlink to posix.m4
	charset.c: make ALPHA unsigned (for Sun SC3.0 compiler)

8/1/94
	lib/ordvst.c: real code, thanks to Martin D. Waller!!
	README, TODO: updated
	test/a.ref, test/dump.ref: updated

7/24/94
	lib/init.c: fix call to getredirect() (Thanks to Martin Waller)

7/7/95
	v311.sil, global.procs: Added FAILG label so FAIL can be inlined.
	timing.sno: more tweaks for AIX
	config/aix-rs6000.m4: new file (thanks to Phillip Lee Thomas)
	Makefile2.m4: fixed awk command

** BETA2 patch1 version 0.91.1 (tag BETA2_patch1)

7/5/94
	h.h: only define NULL if not already defined
	version.c: update for patch1

6/30/94
	more cleanup of timing.sno, added start of diff tag line
	fixed bsd/load.c when space in pathname

6/29/94
	version.c: clean up for non-ansi compilation
	timing.sno: Output bad diff results, loosten ms/stmt check

*** Second Beta release (tag BETA2) version 0.91

6/24/94
	Made isnobol4 the default
	Added label RTNL3G so RTNUL3 can be inlined
	Use register pointer to "res" in data_init.c
	Updated load.doc
	Use awk to reverse tsort input (instead of reverse on output)
	Fixed sense of DO_UFCHK!
	Updated ports.doc

6/23/94
	Include both snobol4.c and isnobol4.c in kit
	Use register in data_init.c
	Implemented TRACE_DEPTH
	Ran "prof" profiling
	Inline pair.c!!

6/21/94
	Cleaned up config/ dir.
		Removed all "cc" configs.
	Turned on -finline-functions by default
	Added Makefile2 rules for isnobol4.c
	Added SNOBOL4 variable

6/20/94
	Fixed problem found by Phillip Thomas; Restart "card"
		processing after a semi.  Allows comment and control
		lines after a semi.
	Created scripts for analysis of inlining results.

6/19/94
	Added {generic,posix}-cc.m4 configs
	Use skel.inc in generic configs
	Added AUX_{SRC,OBJ}, PML_OBJ
	Played with inlining

6/17/94
	Dropped compiler CARDSZ down to 132 for sane listings

6/15/94
	Upped compiler CARDSZ and default input size from 80 to 1024.
	Created snolib/{breakx,lcmp,pad,sort,substr}.sno,
			{fork,system,sprintf}.c
	bsd/load.c; use PML before trying real load. use SNOLIB env var.

6/13/94
	Prevent multiple inclusions
	trim include file names (after multiple inclusion test)

6/12/94
	Implemented -INCLUDE/-COPY
	Use RETxxx macros in snolib

6/10/94
	Added RETxxx macros to load.h

6/9/94
	Gave WIPS talk at Boston Usenix
	Created configs for aix, linux, irix, sunos5
		(all just include posix.m4)

6/6/94
	Run timing script in regression test (runs genc)!!
	UFCHK no longer on by default

6/4/94
	Created snolib (DELETE, FILE and RENAME functions)
	Call getredirect() under vms

6/3/94
	Turned off output NUL translation after compiler runs
	Try PML if ld() fails in bsd/load.c

6/2/94
	Created load.h LOAD_PROTO, LA_xxx macros
	Updated load.doc, sqrt.c
	Implemented "Poor Man's LOAD" for linked in functions!!
	Made REPLACE() 8-bit clean
	Fixed padding on input problem

6/1/94
	Started man page
	Made 8-bit clean
	Implemented simple pipe open

5/31/94
	Fixed/improved make tar; include "bugs" dir
	Updated porting.ms
	Added vms/getredirect.c
	Handle errors in genc.sno
	Avoid .h.new (for VMS)
	Updated ports.doc for LINUX
	Started on autoconfig script

5/30/94
	Fixed hp*.m4 include path
	Updated ports.doc for hp710

5/29/94
	Finished &LCASE &UCASE
	Fixed -CASE n

5/28/94
	Updated ports.doc for HP, SGI, IBM
	Implemented -f option
	Added ; and ! as comment chars (per SITBOL)
	Added &LCASE, &UCASE

5/27/94
	Allow external redefinition of HZ in generic/mstime.c
	Invalidate self pointer in lib/bsd/load.c unload()
	Changed types.h to snotypes.h to avoid include confusion on VMS?!

5/26/94
	Supress padding once compliation is over
	Turned off &TRIM by default
	Caught more CASE sensitivities
	Accept either case for S/F gotos
	
5/25/94
	moved Un*x version banner to version.c
	implemented case insensitivity -CASE/&CASE
	implemented DOBOOL() in genc for real

5/24/94
	converted Makefile2, config files to use m4

5/23/94
	cleaned up bsd load.c, for use on bsd44 systems
	added SIGFUNC_T to init.c, made default void

2/18/94
	*** First Beta release (tag BETA1) 
	updated README, late entry in ports.doc
	include tests in tar!
	
1/25/94
	updated README, include TODO.soon in tar

1/24/94
	improved porting.doc
	run regression test from Makefile2
	added "make uu"

1/18/93
	wrote porting.doc, put all doc files under RCS
	added getopt to Makefile2.cpp, generic.h

1/16/93
	set exit code on fatal errors (including when
	execution aborted due to -NOERRORS)

1/8/94
	output UNIXF UNIXF2 at startup
	make 'LEFT' default listing side
	output error name string to stderr
	implemented -b (BANRCL), -s (STATCL)

1/7/94
	cleaned up config/ files. added bsd43, sony_news, posix
	checked in changes from 1/3
	added standards info to various lib files
	updated README (was README.alpha) for beta test
	split intspc.c realst.c from convert.c
	caseified formats, converted to printf() style
	caseified misc strings

1/3/94
	Brought up on Sony News 800 (68020) sqrt.sno works (no changes)!
	Tested on hp9000s800 (added posix/mstime.c)
	Brought up on Mt. Xinu hp300 4.3 BSD and IBM RT ACIS 4.3
		added generic/vfprintf.c, generic/convert.c
		use mktemp() in load.c

12/30/93
	cleaned up gensyn.sno output
	made format.c strings const
	did compiler timings (tried gcc -O2)
	did profiling. do DCMP() inline!!
		do LOCAPV inline? (called 6.7 million times by genc.sno)!!
	Created Makefile2, lib subdirs (generic, bsd, dummy)
		Flushed lib/Makefile

12/29/93
	cleaned up gendata.sno output, output formats
	cleaned up include file Id lines

12/28/93
	created (empty) mlink.h, mdata.h
	renamed headers.h to parms.h
	created dynamic.c
	include charset.c into init.c
	types.h cleanup;
		flushed flags.h
		created VFLD/FFLD macros
		made f field char, v field a 24 bit bitfield!
		(no time penalty on sparc!?)

12/27/93
	Announced alpha dist (finally got a place to put it)!
	Have gendata.sno (was data.sno) generate data.h, data.c, init.h
	Created init.c

	Compiled and ran on HP 9000/8xx (PA RISC) machine!

12/9/93
	*** First Alpha release (tag ALPHA1)
	Updated usage message, README.alpha, Make tar
	put this (and other files) under RCS

12/4/93
	Implemented -NOERRORS/-ERRORS control cards (default -NOERRORS)
	to supress/allow exeution of programs with compile errors.
	Implemented -k command line switch (like -ERRORS)

12/3/93
	output compilation error messages to stderr as well as listing
	accept '#' and '|' as start of line comments
	(can now use '#!' magic number for scripts!)

11/27/93
	revised README.alpha
	wrote LOAD.doc sqrt.c sqrt.c

11/26/93
	re-implemented io.c (file lists, no more io_unit struct)
	take file names on command line! implement -r flag
	changed -D to -d; default now 25000 now that GC works!

11/25/93
	fixed RSETFI; genc runs with 25K descrs (with 69 GC's)!!

11/24/93
	wrote dump.c

11/23/93
	fixed lvalue: comment.sno works
	atn.sno produces same SIZED (chars/lines) output as spitbol

11/22/93
	fixed linkor: alt1/2.sno work
	found problem in atn.sno (comment.sno)
	atn.sno gets pattern stack overflow (runs with SPDLSZ of 5000)
	atn.sno dies after table to array conversion (convert.sno)
	fixed MOVDIC: convert.sno works
	atn.sno runs to completion (sans comment problem)
		but output differs from spitbol?!
	w/ 200K descrs genc dies in last few lines (after 2 GCs)
		runs to completion with "only" 250K descrs (1 GC)

11/19/93
	implemented expint() exreal()
	found smallest proram with atn.sno bug (alt2.sno)
	create/use LEXEQ() macro!
	worked on README.alpha, DESIGN
	genstg.sno now creates equ.h, stgtyp.c, stg.h
		(flushed equ.awk, stgtyp.h stgh.awk)

11/18/93
	isolated match problem with atn.sno

11/17/93
	fixed MNREAL/MNSINT F/V output
	created IND_ARR, INDENTX, UNINDENT in genc.sno

11/16/93
	fixed locap{v,t} F/V output

11/15/93
	ran genstg under mainbol (w/ -D1M) after consolidating patterns

11/13/93
	ran genstg under mainbol (w/ -D2M)

11/10/93
	implemented filename support ala Catspaw (Vanilla) SNOBOL4(+)!!
		added XOPENI, XOPENO, XECOMP
	send all completion messages to stderr (PUNCH)
	ran gensyn under mainbol

11/9/93
	wrote, debugged load() and link()
	added CLR_S_UNUSED() to no avail

11/8/93
	clear V&F in DATE, MSTIME, SETAV, INTSP, REALSP, MULTC
	GC generally runs, but leaves bad pointers

11/6/93
	fixed lengths in MOVBLK and ZERBLK
	genc ran for the first time (generated code until LOCA1) died in GCM
	runs to completion with -D1000000

11/5/93
	implemented GETLTH by the book
	collect.sno runs (nothing to collect)

11/4/93
	fixed order of spec members, GC marking pass now runs
	upped number of user defined functions from 10 to 50
	upped OCASIZ from 1500 to 15000!
	implemented command line options

11/3/93
	diff.sno runs
	added junk PUSH() to SAVSTK() -- GC expects RCALL to use stack!!

11/2/93
	immed value assignment working (fixed assignment order in MAKNOD)
	cond value assignment working (output PUTSPC!!)
	put v311.sil, syntax.tbl under RCS
	got rid of IDENT columns!!!
	cleaned up genc, now parsed by mainbol!!
	worked on POUND_LINE
	match replacement working (fixed SPUSH/SPOP again!!)
	implemented rplace() library routine

11/1/93
	have gensyn process comments
	last SIL ops (ADJUST, ORDVST, RPLACE) handled in genc
	function args working (fixed PSTACK *PUSH, *POP)
	implemented getbal library routine

10/29/93
	complex patterns working (fixed CPYPAT)

10/28/93
	simple patterns working (but not pattern concatenation)
	implemented
		CLERTB, PLUGTB, DATE, LINK, MOVBLK, REMSP, LOAD, UNLOAD

10/27/93
	implemented;
		misc I/O (BKSPCE ENFILE REWIND)
		code tree ops (ADDSIB ADDSON INSERT)
		pattern ops (MAKNOD LINKOR
		value pair ops (LOCAPT LOCAPV)
		others;
			ADDLG BKSIZE CHKVAL EXPINT EXREAL LCOMP LVALUE
			MOVDIC PUTSPC SUBSP TOP TRIMSP
	runs simple programs (loops.sno runs ~15 x slower than SPITBOL)!!

10/25/93
	recieved S4D58 report (SIL reference manual) from Dr. Griswold
	implemented SETVA

10/24/93
	implemented INTSPC, REALST, SHORTN, SPCINT, SPREAL
	END recognized!

10/20/93
	implemented FSHRTN
	"END" not recognized

10/19/93
	implemented input and output ops (STPRNT, STREAD)
	implemented STREAM!

10/18/93
	implemented APDSP, LOCSP, PUTVC
	initialization code starts to run

10/17/93
	implemeted SETVC, VCMPIC

10/15/93
	implemented ENDEX, LEXCMP, VARID

10/14/93
	implemented GETSP, LEQLC

10/13?/93
	implemented ZERBLK

10/8/93
	implemented GETLG, SETSP

10/5/93 - 10/7/93
	implemented INIT, MSTIME, PUTLG, PUTSPC, GETSPC
		MOVDIC, GETLTH, PSTACK

8/92
	46 ops remaining (on 522 lines of SIL)


7/24/92
	implemented:
		PUTAC, GETAC, SETFI, RSETFI, DIVIDE, BRANIC, INCRV
		MNSINT, RLINT, ADREAL, SBREAL, MPREAL, ADREAL, DVREAL

7/22/92
	implemented:
		int math: SUM, SUBTRT, MULT, MULTC
		SETAV, SETVC, SETLC, SPEC, TESTFI, MOVA, MNREAL

to 7/21/92
	71 ops remaining

5/92
	C pattern matching working (see 3/90)

3/91
	Started genc.sno using Catspaw SPARC SPITBOL

11/90
	Found out about Catspaw SPARC SPITBOL from a Catspaw mailing.

7/90
	Started work at Shiva Corp.

3/90
	Started on C implementation of SNOBOL patterns using
	Gimpel's CACM article (and Orange book).

12/89 thru 3/90
	Worked on C versions of syn, genc using "traditional" tools
	awk/lex/yacc

11/89
	Got report on old/new naming conventions from Dr. Griswold
	began studying SIL source in earnest.

10/89
	Got (a rare) copy of "The Macro Implementation of SNOBOL4" book
	from Catspaw.

late 1988?
	Found Vanilla SNOBOL4 (including Catspaw book order form)
	and SIL sources on cs.arizona.edu

Fall 1987
	Tried using OS/360 MAINBOL to run questionnare analyzer

Fall 1986
	BUCS20 unplugged, lost access to SITBOL for first time in 7 yrs

Fall 1985
	Started work at BU full time.

Spring 1985
	Used SITBOL to analyze questionnaires from
		Psychology directed study on computer mediated communication.

Fall 1983
	Returned to school full time at BU, helped manage BUCS20 (2060)

Fall 1981
	Started at DEC/LCG FORTRAN-10/20 group (which used SITBOL
	to perform FORTRAN regression tests)

Fall 1979
	Learned SNOBOL4 using SITBOL freshman year at Stevens Tech
	Used to find errors (typos, mismatched commons) in FORTRAN programs
