Wed Feb  6 00:23:17 1991  Aubrey Jaffer  (jaffer at foxkid)

	* poly.scm (univ_prem_list) eliminated.  This fixed radicals bug.
	{*}_vect -> {*} functions renamed since only vect version now.

	* sexp.scm (warning) now puts out a trailing newline and returns
	last value.

Wed Dec  5 16:28:00 1990  Aubrey Jaffer  (jaffer at foxkid)

	* std.grm (^^): binding power upped to 210 so that d^^2(f(x))
	does not apply 2 to f(x).

	* poly (): - now only takes 2 arguments (more are not required
	in Scheme^4).

	* BUG: ((x+a)^(1/2))^3 ==> x+a.  Proably due to previous change.

Mon Oct 29 13:48:00 1990  Aubrey Jaffer  (jaffer at foxkid)

	* poly (poly_^): no longer uses builtin scheme expt (not essential
	procedure).

	* types (num, denom): no longer handle numbers other than integers.

	* sexp (seval): now checks for rationals and converts them, signals
	error for inexact inputs.

	* parse (def_bp ...) null? => not [confusion between () and #f]

	* scl.scm (sort): created. char-code-limit added.

Mon Aug 27 01:33:07 1990  Aubrey Jaffer  (jaffer at zohar)

	* poly (poly_resultant): now returns DEMOTED gcd if non-constant.
	this fixes rotbug!

Sun Aug 26 23:12:34 1990  Aubrey Jaffer  (jaffer at zohar)

	* poly (univ_/?): fixed for dividing by number.  Did not fix rotbug.

	* poly (univ_/ const_promote): created
	...-0-term ==> ...-const

Sun Jul  1 23:06:30 1990  Aubrey Jaffer  (jaffer at zohar)

	* norm (total-differential chain-exts poly_diffn):
	fixed differentials.

Sat May 12 21:48:01 1990  Aubrey Jaffer  (jaffer at zohar)

	* types (impl_number? ==> rat_number?)

	* types (proc):
	defined so that proc will funcallize (funcalls of proc removed)

	* types (rat_unit-denom?):
	created

	* scl.scm (union):
	defined

	* parse (lex):
	letrec removed.

Thu May 10 00:25:17 1990  Aubrey Jaffer  (jaffer at lammert)

	* types (make-rad-ext):
	fixed variable ordering bug.

Tue May  8 21:42:25 1990  Aubrey Jaffer  (jaffer at lammert)

	* parse (lex):
	removed letrec.

Fri May  4 00:03:17 1990  Aubrey Jaffer  (jaffer at lammert)

	* types (make-ext-var):
	did defext after vsubst. changed vsubst to cons of cdr.  Now
	defines nested radicals properly.  Nested radicals clear out of
	denominators correctly.

Thu May  3 00:53:22 1990  Aubrey Jaffer  (jaffer at lammert)

	* all:
	removed all letrec use except lex in parse.l and determinant in vect.l

Wed May  2 00:28:01 1990  Aubrey Jaffer  (jaffer at lammert)

	* ext (ext_conjugate):
	full algebraic version works.  ext_simplify of nested radicals is
	broken (infinite loop).

	* poly (univ_pdiv_vect):
	finally made a version of pseudo division with quotient which works.

Fri Apr 27 00:48:03 1990  Aubrey Jaffer  (jaffer at lammert)

	* exts:
	eliminated letrec.

	* types:
	added new field	(var_dependencies) to var.

Thu Apr 26 01:29:54 1990  Aubrey Jaffer  (jaffer at lammert)

	* ext (ext_find-var-if -> ext_for-each-var):
	rewritten for efficiency and to purge letrec.

Wed Apr 25 21:24:12 1990  Aubrey Jaffer  (jaffer at lammert)

	* combined ext and radicals -> ext
	* combined bunch and matrix -> vect
	* combined impl and factor -> norm
	* combined top and seval -> sexp
	* compilum.lisp -> compilem.lisp

Mon Apr 23 00:43:33 1990  Aubrey Jaffer  (jaffer at lammert)

	* poly:
	eliminated (letrec ...)

	* poly.l (poly_do-vars):
	created;

	* types.l (bunch_map):
	created;

	* seval.l (capply, diffarg):
	simplified with the use of the above functions.

Thu Apr 19 00:31:36 1990  Aubrey Jaffer  (jaffer at lammert)

	* types.scm (eqn?):
	I no longer depend on char? being disjoint from other types.  This
	is in order to be compatible with Scheme^3.

	* builtin.l :
	fixed and added many functions.

Wed Apr 18 17:22:31 1990  Aubrey Jaffer  (jaffer at lammert)

	* seval.l (fcexpt):
	now works.  changed calls to capply to app*.
	fcinverse works but negates its argument (why?).

Mon Apr 16 01:21:49 1990  Aubrey Jaffer  (jaffer at lammert)

	* ext (ext_clear-denoms):
	works for square roots.  subtle problem with determinant screws up
	higher order.
	* syntax -> macsyma.syn
	* meta -> builtins :
	documentation strings entered for most functions.
	* poly (sylvester & bruno) :
	resultant matrix functions created.

Wed Apr 11 01:37:54 1990  Aubrey Jaffer  (jaffer at lammert)

	* impl (ncexpt):
	created.  positive exponent works for matrices, vectors, and
	functions.  Problems with inverses.
	* radicals :
	radicands now come out positive.

Thu Apr  5 01:02:04 1990  Aubrey Jaffer  (jaffer at lammert)

	* radicals, matrix, types (make-rat):
	created in types.  This eliminates almost all constructions:
	(list @ num -denom)

	* radicals (all):
	schemized.  improved ipow.  radicands keep coming out negative.

Wed Apr  4 15:48:20 1990  Aubrey Jaffer  (jaffer at lammert)

	* syntax (leadingplus => leading+?)
	fixed and moved to seval

	* syntax (inprint)
	now understands (define var exp)

Fri Mar 30 01:24:04 1990  Aubrey Jaffer  (jaffer at lammert)

	* cgol, seval (math):
	input and output grammer independently settable.  grammers now
	contain both input and output functions.  line terminators work
	correctly.

Thu Mar 29 00:31:20 1990  Aubrey Jaffer  (jaffer at gerber)

	* cgol, syntax, seval:
	made input syntax switchable.  Input delimiters made postfix (this
	was a change to cgol_parse).

Wed Mar 28 16:16:25 1990  Aubrey Jaffer  (jaffer at lammert)

	* cgol (all):
	all syntax tables now in one structure: cgol_grammer.

	* seval, syntax, cgol (seval, bunch->sexp, inprint, #\[):
	sexps now use vectors instead of '(bunch ...) to represent vectors.
	delimiters for end of expression (#\; #\$) now are read after the
	expression is read and dispatched in seval.  This should move to cgol.

Tue Mar 27 00:19:21 1990  Aubrey Jaffer  (jaffer at gerber)

	* poly, types, seval:
	leading coefficient of impls is now negative.  this means less
	poly_negates for type conversion.

Sat Mar 24 00:18:42 1990  Aubrey Jaffer  (jaffer at gerber)

	* all (all):
	added missing else clauses to conds and ifs.  Now runs in scheme.

Fri Mar 23 00:46:43 1990  Aubrey Jaffer  (jaffer at lammert)

	* syntax.l (;):
	changed to character token.

	* seval.l (seval):
	fixed some problems with suchthat and clambda variables.

	* seval.l (math):
	spruced up messages to reflect syntax_infix.	

	* seval.l (poly->sexp):
	simplified

Tue Mar 20 00:08:31 1990  Aubrey Jaffer  (jaffer at lammert)

	* poly.lisp (degree&lc):
	eliminated in favor of much simpler degree.  This sidesteps Common
	Lisp compiler problem.  It also means lc is not contructed unless
	it is needed.  Should speed things up.

	* scl.scm:
	read-file removed (was interfering with reader).  Many common lisp
	utility functions defined.

	* syntax.l:
	"|" eliminated from symbol names.  Scheme association lists now
	used.

	* factor.l (poly_factor-split):
	do* eliminated.

	* matrix.l (mtrx_diagmatrix, rank, triangularize):
	do* eliminated

	* poly.l (poly_coeff):
	rewritten to not use do*.  map-no-end-0s written; gives much more
	efficient implementation of poly_coeff.  Everything using
	univ_monomial should be rewritten using map-no-end-0s.

	* scl.lisp (define):
	defun removed; Less error messages on loading.  Non-scheme
	functions removed.  List? fixed to accept '().  pair?, list? and
	procedure? now check for closures-might-be-conses.

Fri Mar 16 00:03:42 1990  Aubrey Jaffer  (jaffer at gerber)

	* output:
	split between seval and syntax

Wed Mar 14 01:05:57 1990  Aubrey Jaffer  (jaffer at lammert)

	* all:
	code now loads.  debugged up to problems with symbols
	vs. vars in top level math.

Mon Mar 12 01:23:19 1990  Aubrey Jaffer  (jaffer at lammert)

	* types:
	finished entering code.  Started debugging.

Fri Mar  9 00:05:56 1990  Aubrey Jaffer  (jaffer at lammert)

	* types:
	massive changes to make vars be vectors (not finished).

	* seval (capply):
	now decimates in body bunches (rather than args).

	* impl:
	differentials bunchized

Mon Mar  5 00:24:20 1990  Aubrey Jaffer  (jaffer at gerber)

	* seval (seval):
	now lexically binds clambda, rlambda, and suchthat symbols.
	* all:
	fixed misc things.

Sun Mar  4 00:37:14 1990  Aubrey Jaffer  (jaffer at gerber)

	* types:
	types created.  started new data type regime. lots is broken.

Wed Feb 28 13:30:19 1990  Aubrey Jaffer  (jaffer at gerber)

    	* meta:
	made arithmetic operations nary and changed names

Tue Feb 27 01:30:19 1990  Aubrey Jaffer  (jaffer at gerber)

	* matrix (determinant):
	completed

Mon Feb 26 00:11:34 1990  Aubrey Jaffer  (jaffer at gerber)

	* bunch, matrix:
	@n order changed; matrix functions work again

	* syntax, output
	lambda syntax fixed: \[a,b],b-a;

Sun Feb 25 00:15:23 1990  Aubrey Jaffer  (jaffer at lammert)

	* seval (seval): schemized and simplified.
	* meta, impl, matrix:
	functions split between internal and user callable versions.
	Not finished.

Tue Feb 13 00:25:04 1990  Aubrey Jaffer  (jaffer at lammert)

	* cgol, syntax:
	now foo((a,x)) --> (foo (begin a x))

Mon Feb 12 01:23:56 1990  Aubrey Jaffer  (jaffer at lammert)

	* cgol, syntax:
	parsing rewritten.  some minor bugs and incompatabilities
	introduced.  Nary parsing introduced; not supported in seval.

Thu Feb  8 23:33:23 1990  Aubrey Jaffer  (jaffer at lammert)

	* poly (univ_prs):
	schemized

Tue Feb  6 00:52:56 1990  Aubrey Jaffer  (jaffer at gerber)

	* poly:
	eliminated most do* and blocks

Mon Feb  5 01:08:43 1990  Aubrey Jaffer  (jaffer at gerber)

	* impl:
	cleaned up derivatives some, not finished.

Sat Feb  3 00:32:43 1990  Aubrey Jaffer  (jaffer at gerber)

	* poly:
	reordered functions and put in dummies to allow compilation

	* poly (univ_prem):
	schemified

	* poly (poly_norm => univ_norm):
	rewritten in scheme.

Tue Jan 30 01:15:54 1990  Aubrey Jaffer  (jaffer at lammert)

	* bunch.scl (bunch_elim):
	rewrote for scheme

Sun Jan 28 01:08:51 1990  Aubrey Jaffer  (jaffer at gerber)

	* scl.lisp:
	changed to not use macros to define builtins so that compiled
	version works. 

	* scl.lisp (define):
	now uses defun whenever possible, so that functions have their
	name with them. Still cannot compile poly.lisp.
	* poly.lisp (univ_prs):
	had step sub-clause missing in do*.  should speed thing up a bit.

Tue Jan 23 13:32:07 1990  Aubrey Jaffer  (jaffer at lammert)

	* scl.lisp:
	expanded to full scheme and debugged.
	* *.lisp -> *.scl:
	and many conversions done. all "#'" removed.  most calls changed to
	scheme names.
	* rearranged directories

Thu Jan 18 01:28:51 1990  Aubrey Jaffer  (jaffer at gerber)

	* scl.lisp (lambda and define defined).
	* *.lisp:
	#'(lambda --> (lambda

Tue Jan 16 01:33:59 1990  Aubrey Jaffer  (jaffer at crispy-critters)

	* scm.lisp:
	the Scheme compatability definitions created.  Some char and
	string functions changed in all files. 

Mon Jan 15 01:06:58 1990  Aubrey Jaffer  (jaffer at crispy-critters)

	* poly.lisp removed lambda-unshadow (unused).  moved symbol
	creation from nmatrix.

	* *.lisp all variables now reside in package "USER".

Sat Jan 13 18:26:02 1990  Aubrey Jaffer  (jaffer at lammert)

	* seval.lisp, impl.lisp:
	added finite differentials. eliminated express and unexpress.

	* seval.lisp (capply):
	fixed bug: vector of functions of vector of
	arguments.  fixed clambda for differentials.

	* math.lisp: moved all test calls here

Fri Jan 12 01:20:27 1990  Aubrey Jaffer  (jaffer at crispy-critters)

	* poly.lisp output.lisp degree => degree&lc changed to return a
	list rather than multiple values (in prep for Scheme)

Thu Jan  4 01:10:57 1990  Aubrey Jaffer  (jaffer at gerber)

	* impl.lisp (vsubst): now works on bunches
	* poly.lisp moved differential and lambda var functions here
	* seval.lisp capply and related functions rewritten to implement
	differential operators.

Tue Dec 19 23:44:43 1989  Aubrey Jaffer  (jaffer at gerber)

	* syntax.lisp (a*b)'' now works
	* seval.lisp simplified capply and added function for differential
	clambda (not finished).

Sun Dec 17 23:08:06 1989  Aubrey Jaffer  (jaffer at gerber)

	* poly.lisp zero? and one? written and used

Sat Dec 16 01:07:49 1989  Aubrey Jaffer  (jaffer at gerber)

	* poly.lisp split large poly_* into poly_* and univ_*
	* factor.lisp created from diff and factor stuff in poly.lisp

Fri Dec 15 00:32:37 1989  Aubrey Jaffer  (jaffer at gerber)

	* poly.lisp moved differential functions from impl.lisp
	* seval.lisp cleaned up capply to prepare for differential operators.

Thu Nov 27 11:31:00 1989  Aubrey Jaffer  (jaffer at rosalyn.ai.mit.edu)

	* seval.lisp applying vectors of clambdas works again

Thu Nov 16 11:31:00 1989  Aubrey Jaffer  (jaffer at rosalyn.ai.mit.edu)

	* *.lisp lowercased and reformated all files

Fri Nov 10 01:02:34 1989  Aubrey Jaffer  (jaffer at gerber)

	* doc/layers created
	* ext.lisp created from impl.lisp
	* impl.lisp, seval.lisp many name changes inpreperation
	for scheme and better layering

Thu Nov  9 01:18:18 1989  Aubrey Jaffer  (jaffer at gerber)

	* radicals.lisp added rad_depth

Sun Nov  5 23:58:10 1989  Aubrey Jaffer  (jaffer at rice-chex)

	* caf.lisp => impl.lisp (all caf -> impl)
	* output.lisp (all 2 -> ->)
	layering improved

Wed Nov  1 14:32:45 1989  Aubrey Jaffer  (jaffer at lammert)

	* poly.lisp (square-free -> poly_square-free)
	* bunch.lisp meta.lisp (eliminate is now in meta.lisp)

Wed Oct 25 01:09:22 1989  Aubrey Jaffer  (jaffer at lammert)

	* bunch.lisp, output.lisp (bunch?)
	() is now a bunch.

Tue Oct 24 22:34:08 1989  Aubrey Jaffer  (jaffer at lammert)

	* poly.lisp (resultant->poly_resultant)
	and functions which use it
	now check for getting back number (instead of equation).

