2012-05-07  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/vmlisp.lisp (ioTerminal?): Rename form IS-CONSOLE.
	* interp/bootlex.lisp: Adjust.
	* interp/diagnostics.boot: Likewise.
	* interp/macros.lisp: Likewise.
	* interp/msgdb.boot: Likewise.
	* interp/parsing.lisp: Likewise.
	* interp/preparse.lisp: Likewise.
	* interp/server.boot: Likewise.

2012-05-07  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/preparse.lisp (SKIP-IFBLOCK): Move to spad-parser.boot.
	Renamed skipIfBlock.
	(SKIP-IF-BLOCK): Move to spad-parser.boot.  Renamed skipToEndif.
	(PREPARSEREADLINE): Move to spad-parser.boot.  Renamed
	preparseReadLine.

2012-05-06  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/sys-globals.boot ($insideCompTypeOf): Remove.
	* interp/preparse.lisp (INITIAL-SUBSTRING): Remove.
	* interp/g-util.boot (stringPrefix?): Remove.
	* interp/compiler.boot (compTypeOf): Remove.
	(comp3): Don't call it.

2012-05-06  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/lexing.boot (indentationLocation): New.
	* interp/macros.lisp (expand-tabs): Use it in lieu of NDENT-POS.
	* interp/preparse.lisp (PREPARSE1): Likewise.

2012-05-06  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/Makefile.in (OBJS): Include io.$(FASLEXT).
	(io.$(FASLEXT)): New rule.
	* interp/io.boot: New.
	* interp/preparse.lisp: Use storeBlanks!.
	(STOREBLANKS): Remove.

2012-05-05  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/preparse.lisp (ADDCLOSE): Move to spad-parser.boot.
	Renamed addClose.
	(ESCAPED): Move to spad-parser.boot.  Renamed escaped?.
	(INFIXTOK): Move spad-parser.boot.  Renamed infixToken?.

2012-05-05  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/clam.boot (HGETandCount): Remove as unused.
	(clearHashReferenceCounts): Likewise.
	(remHashEntriesWithCount): Likewise.
	(initCache): Likewise.
	(assocCache): Likewise.
	(assocCacheShift): Likewise.
	(assocCacheShiftCount): Likewise.
	(hputNewProp): Likewise.
	(lassocShift): Likewise.
	(lassocShiftQ): Likewise.
	(globalHashtableStats): Likewise.
	(constructor2ConstructorForm): Likewise.

2012-05-05  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/clam.boot (compHash): Rework.
	* interp/spad.lisp ($reportCounts): Remove.

2012-05-05  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/clam.boot (compClam): Remove.
	(compHash): Simplify.  Now take only 3 parameters.
	* interp/c-util.boot (compileQuietly): Remove as unused.
	* interp/sys-globals.boot ($clamList): Move to clam.boot.
	* interp/define.boot (compileConstructor1): Call compHash in lieu
	of compClam.
	* share/doc/msgs/s2-us.msgs: Remove unused diagnostics, due to
	compClam removal and compHash simplification.

2012-05-04  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/define.boot (compileConstructor1): Don't call
	clearConstructorCache here.  Simplify.
	(compileConstructor): Call clearConstructorCache here.
	* interp/c-util.boot (backendCompile2): Do not test for membership
	of $clamList.
	* interp/clam.boot (compHash): Use compQuietly instead of
	compileQuietly.

2012-05-04  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/clam.boot (compHash): Use compQuietly in lieu of
	compileInteractive. 

2012-05-04  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/lisp-backend.boot (assembleCode): New.
	* interp/c-util.boot (backendCompileSPADSLAM): Use it.
	(backendCompile2): Likewise.

2012-05-04  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/clam.boot ($hashNode): Remove.
	(compHashGlobal): Likewise.

2012-05-04  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/clam.boot (compHash): Avoid unnecessary gensyms.

2012-05-03  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/buildom.boot (lookupDisplay): Tidy.
	* interp/clam.boot (compHash): Likewise.

2012-05-03  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/vmlisp.lisp (THROW-PROTECT): Remove.
	(MDEF): Likewise.
	(NUM2CHAR): Likewise.
	(CHAR2NUM): Likewise.

2012-05-03  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/vmlisp.lisp ($lamName): Remove.
	(LAM): Likewise.
	(*LAM): Likewise.
	(ISQUOTEDP): Likewise.
	(QUOTESOF): Likewise.
	(DDQUOTE): Likewise.
	* interp/lisp-backend.boot (COMPILE1): Simplify.

2012-05-03  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/c-util.boot: Use LAMBDA type in lieu of LAM.
	* interp/clam.boot: Likewise.
	* interp/define.boot: Likewise.
	* interp/lisp-backend.boot (COMPILE1): Tidy.
	* interp/slam.boot: Likewise.

2012-05-03  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/g-opt.boot ($AbstractionOperator): Remove SLAM.
	* interp/c-util.boot (backendCompileSLAM): Remove.
	(backendCompileSPADSLAM): Tidy.
	(backendCompile2): Adjust.

2012-05-03  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/define.boot (compDefineFunctor1): Use LAMBDA for the
	resulting functor if not cachable.
	* interp/clam.boot (compClam): Tidy.
	(compHash): Likewise.
	(compHashGlobal): Likewise.
	* interp/i-eval.boot (evalForm): Use LAMBDA, not LAM.
	* interp/i-coerce.boot (getSubDomainPredicate): Use %lambda not LAM.

2012-05-03  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/c-util.boot (makeWorkerName): New.
	(backendCompileSLAM): Use it.
	(backendCompileSPADSLAM): Likewise.
	* interp/clam.boot (compHash): Likewise.
	Do not synthetize new parameter for unary constructors.

2012-05-02  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/c-util.boot: Use APPLY, not APPLX.
	* interp/clam.boot: Likewise.
	* interp/i-output.boot: Likewise.
	* interp/slam.boot: Likewise.
	* interp/vmlisp.lisp (APPLX): Remove.

2012-05-02  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/c-util.boot (backendCompileSPADSLAM): Do not devaluate
	argument list.  Tidy.

2012-05-02  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/c-util.boot (backendCompileSPADSLAM): Tidy.  Do not
	devaluate argument of unary constructors.

2012-05-01  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/vmlisp.lisp (COMPILE1): Move to lisp-backend.boot.
	($lamName): Rename from *LAM-NAME*.

2012-05-01  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/vmlisp.lisp (REMOVE-FLUIDS): Move to lisp-backend.boot.
	Rename to removeFluids.
	(SIMPLE-ARGLIST): Move to lisp-backend.boot.  Rename to
	simpleParameterList?.

2012-05-01  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/vmlisp.lisp (COMP370): Move to c-util.boot
	(compileLispDefinition): Move to lisp-backend.boot.

2012-05-01  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/i-special.boot (interpREPEAT): Use CATCH directly.
	* interp/int-top.boot (intloopSpadProcess): Likewise.
	* interp/sys-macros.lisp (funcall): Remove.
	(Catch): Likewise.
	(Throw): Likewise.
	(UnwindProtect): Likewise.
	(SPADCATCH): Likewise.
	(SPADTHROW): Likewise.
	(YIELD): Likewise.

2012-04-30  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* algebra/integer.spad.pamphlet (Integer): Use %iaddmod, %isubmod,
	%imulmod.
	* algebra/si.spad.pamphlet (SingleInteger): Likewise.
	* interp/c-util.boot (devaluate): Use # in lieu of QVSIZE.
	* interp/g-opt.boot: %ilfshift and %irshift are now builtin
	side-effect free operations.
	* interp/lisp-backend.boot: Translate them.
	* interp/g-util.boot (mergeSort): Avoid QSDIFFERENCE.
	* interp/slam.boot: Likewise.
	* interp/sys-macros.lisp: Likewise.
	* interp/macros.lisp: Avoid QVMAXINDEX.
	* interp/vmlisp.lisp (QSDIFFERENCE): Remove.
	(QSGREATERP): Likewise.
	(QSLEFTSHIFT): Likewise.
	(QSLESSP): Likewise.
	(QSMAX): Likewise.
	(QSMIN): Likewise.
	(QSMINUS): Likewise.
	(QSMINUSP): Likewise.
	(QSODDP): Likewise.
	(QSABSVAL): Likewise.
	(QSPLUS): Likewise.
	(QSZEROP): Likewise.
	(QVMAXINDEX): Likewise.
	(QVSIZE): Likewise.
	(ZERO?): Likewise.

2012-04-30  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* algebra/si.spad.pamphlet (SingleInteger): Use %iaddmod,
	%isubmod, and %imulmod.
	* interp/g-opt.boot: These are now builtin side-effect free operators.
	(optIaddmod): New optimizer.  Register.
	(optIsubmod): Likewise.
	(optImulmod): Likewise.
	* interp/sys-macros.lisp (QSADDMOD): Remove.
	(QSDIFMOD): Likewise.
	(QSMULMOD): Likewise.

2012-04-30  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/compiler.boot: Use float? in lieu of FLOATP.
	* interp/fortcall.boot: Likewise.
	* interp/i-object.boot: Likewise.
	* interp/newfort.boot: Likewise.
	* interp/i-analy.boot: Compare to 0 in lieu of ZEROP.
	* interp/i-special.boot: Likewise.
	* interp/i-syscmd.boot: Likewise.
	* interp/sfsfun.boot: Likewise.
	* interp/sys-driver.boot: Likewise.
	* interp/macros.lisp: Directly use 1+ instead of QADD1.
	* interp/preparse.lisp: Likewise.
	* interp/slam.boot: Likewise.
	* interp/sys-macros.lisp: Likewise.
	* interp/sys-constants.boot ($BasicPredicates): Remove as unused.
	* interp/vmlisp.lisp (ADD1): Remove.
	(QSADD1): Likewise.
	(QSSUB1): Likewise.
	(QSTIMES): Likewise.

2012-04-30  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/fortcall.boot: Use copyTree, not COPY-TREE.
	* interp/i-intern.boot: Likewise.
	* interp/setvars.boot: Likewise.
	* interp/i-output.boot: Use abstractChar, not EBCDIC.
	* interp/i-util.boot: Likewise.
	* interp/vmlisp.lisp (EBCDIC): Remove.
	(CALLBELOW): Likewise.
	(RE-ENABLE-INT): Likewise.
	(QUOREM): Likewise.

2012-04-29  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* lisp/core.lisp.in (fixnum?): New.
	* algebra/sex.spad.pamphlet: Use %float? instead of RNUM.
	Use %integer? instead of INTP.
	* interp/g-timer.boot: Use float? instead of RNUMP.
	* interp/i-coerce.boot: Use fixnum? instead of SINTP or SMINTP.
	* interp/i-intern.boot: Likewise.
	* interp/lisp-backend.boot: Likewise.
	* interp/slam.boot: Likewise.
	* interp/trace.boot: Likewise.
	* interp/vmlisp.lisp: Likewise.
	(INTP): Remove.
	(BINTP): Likewise.
	(LESSP): Likewise.
	(LINTP): Likewise.
	(MAKESTRING): Likewise.
	(MAPELT): Likewise.
	(NUMP): Likewise.
	(RNUMP): Likewise.
	(SINTP): Likewise.
	(SMINTP): Likewise.

2012-04-29  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/debug.lisp: ident? in lieu of IDENTP.
	* interp/macros.lisp: Likewise.
	* interp/parsing.lisp: Likewise.
	* interp/sys-macros.lisp: Likewise.
	* interp/vmlisp.lisp: Likewise.
	(IDENTP): Remove.

2012-04-29  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/ast.boot (bfNumber?): Rename from bfSmintable.  Check for
	floating point literals too. Adjust callers.
	(bfLessp): Check for integer or floating pointer numbers.
	* interp/vmlisp.lisp (complex?): New.
	(complex): Likewise.
	(realPart): Likewise.
	(imagPart): Likewise.
	(conjugate): Likewise.
	(sqrt): Likewise.

2012-04-28  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/compiler.boot (finishLambdaExpression): Tidy.
	(compWithMappingMode): Use %lambda not LAMBDA.
	* interp/g-opt.boot (changeVariableDefinitionToStore): Handle %closure.

2012-04-28  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/boot-pkg.lisp (gensym?): Check for non-null object.
	* interp/clammed.boot: Use it in lieu of GENSYMP.
	* interp/debug.lisp: Likewise.
	* interp/g-opt.boot: Likewise.
	* interp/g-util.boot: Likewise.
	* interp/i-analy.boot: Likewise.
	* interp/trace.boot: Likewise.
	* interp/vmlisp.lisp (GENSYMP): Remove.

2012-03-02  Gabriel Dos Reis  <gdr@cse.tamu.edu>

	* algebra/catdef.spad.pamphlet (MonoidOperation): Noew CoercibleTo
	SemiGroupOperation T.

2012-02-27  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/nruncomp.boot (markOperation): New.
	(optDeltaEntry): Implement better patch for last change.
	* interp/compiler.boot (compFormWithModemap): Undo last change.

2012-02-26  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/compiler.boot (compFormWithModemap): Mark implementation
	resolution as appropriate.

2012-02-26  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/compiler.boot (emitLocalCallInsn): Mark external
	operators as such, and local functions as such.
	(freeVarUsage): Do not count external and local functions.
	(extractCode): Tidy.  Handle closure literals.
	* interp/g-opt.boot (optCall): Optimize external calls where
	possible.
	%external is a side-effect free operator.

2012-02-26  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/g-util.boot (usedSymbol?): Remove.
	(bindingForm?): New.
	(usesVariable?): Likewise.
	* interp/compiler.boot (declareUnusedParameters): Use it.
	* interp/g-opt.boot (inlineLocals): Likewise.
	(optClosure): Likewise.
	(optBind): Likewise.
	* interp/define.boot (compContained): Remove.

2012-02-26  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/c-util.boot (numOfOccurencesOf): Tidy.
	* interp/compiler.boot (compUnnamedMapping): Fix thinko.
	* interp/g-opt.boot (semiSimpleRelativeTo?): Likewise.

2012-02-25  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/compiler.boot (compTopLevel): Do not bind $killOptimizeIfTrue.
	(compWithMappingMode): Likewise.
	(compUnnamedMapping): Likewise.
	(extractCode): Simplify.
	* interp/g-opt.boot (optClosure): New.  Register.
	(semiSimpleRelativeTo?): An abstraction is always semisimple.
	* interp/nruncomp.boot ($killOptimizeIfTrue): Remove.
	(optDeltaEntry): Don't test for it.

2012-02-25  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/compiler.boot (extractCode): Rename from
	extractCodeAndConstructTriple.  Change Arity.  Tidy. Adjust callers.

2012-02-25  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/compiler.boot (finishLambdaExpression):  Use %closure.
	(extractCodeAndConstructTriple): Likewise.
	* interp/g-opt.boot (optCall): Adjust.

2012-02-25  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/nruncomp.boot (genDeltaEntry): Fix thinko.

2012-02-24  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* algebra/catdef.spad.pamphlet (BinaryOperatorCategory): New.
	(BinaryOperation): Likewise.
	(IdempotentOperatorCategory): Likewise.
	(SemiGroupOperatorCategory): Likewise.
	(SemiGroupOperation): Likewise.
	(MonoidOperatorCategory): Likewise.
	(MonoidOperation): Likewise.
	* algebra/exposed.lsp.pamphlet: Expose them.
	* algebra/Makefile.in (oa_algebra_layer_0): Include IDEMOPC,
	SGPOPC, SPGOP, MONOPC, BINOPC.
	(axiom_algebra_layer_1): Include MONOP.

2012-02-24  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/lexing.boot: "assume" is now also a keyword for the compiler.
	* interp/spad-parser.boot (parseCategory): Accept exported properties.
	(parseFormula): New.

2012-02-23  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/nruncomp.boot (genDeltaEntry): Replace applyFun with %apply.
	* interp/lisp-backend.boot (expandApply): Remove.
	Unregister expander.
	* interp/g-opt.boot (optCall): applyFun is not longer an opcode.
	Look for %apply.
	* interp/compiler.boot (applyMapping): Generate ['%call,['%apply,.]]
	form, not ['%apply,..] form.
	(extractCodeAndConstructTriple): Tidy.
	(compApplication): Likewise.

2012-02-19  Gabriel Dos Reis  <gdr@cse.tamu.edu>

	* interp/lexing.boot (getNumberToken): New.
	(getArgumentDesignator): Likewise.
	(getToken): Use it.
	* interp/parsing.lisp (GET-NUMBER-TOKEN): Remove.
	* interp/bootlex.lisp (INIT-BOOT/SPAD-READER): Move to spad.lisp.
	(SPAD): Likewise.
	(READ-SPAD1): Likewise.
	(TEST): Remove.
	(GET-ARGUMENT-DESIGNATOR-TOKEN): Likewise.

2012-02-19  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/compiler.boot (compBuiltinDomain): Compute the exports
	from parentsOfBuiltinInstance.
	* interp/buildom.boot (parentsOfBuiltinInstance): Tidy.

2012-02-19  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/compiler.boot (compBuiltinDomain): Rename from compCat.

2012-02-19  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/br-data.boot (libConstructorSig): Rename T$ to T for
	external name printing.  Do not call ncParseFromString.

2012-02-15  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* algebra/catdef.spad.pamphlet (Ring): Extends SemiRing.
	(Dioid): New.  Extend OrderedAbelianMonoid and SemiRing.
	* algebra/exposed.lsp.pamphlet: Expose Dioid.

2012-02-13  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/g-util.boot (stripTags): Rename from stripUnionTags.
	Adjust callers.
	* interp/database.boot (genericInstanceForm): New.
	* interp/buildom.boot (parentsOfBuiltinInstance): New.
	(builtinInstanceForm): Likewise.
	* interp/br-data.boot (genericParentsOf): New.
	(parentsOfForm): Use it,
	(ancestorsRecur): Likewise.
	* interp/br-con.boot (originInOrder): Use parentsOfForm.

2012-02-12  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/define.boot (getCatAncestors): Remove.  Adjust caller.
	(depthAssoc): Tidy.
	(NRTmakeCategoryAlist): Tidy.

2012-02-12  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/define.boot (NRTcatCompare): Remove.
	(NRTmakeCategoryAlist): Don't call NRTcatCompare.  Tidy.

2012-02-12  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/define.boot (depthAssocList): Take the cache as second
	argument. Avoid globals.  Adjust Callers.
	(depthAssoc): Likewise.  Adjust Caller.
	(NRTmakeCategoryAlist):  Remove uses of $depthAssocCache.

2012-02-12  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* algebra/coerce.spad.pamphlet (Type): Redefine as empty Join.
	* interp/category.boot (Join): Handle empty argument list.

2012-02-11  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/define.boot (getParentsFor): Lose second parameter.  Tidy.
	Adjust callers.
	* interp/br-data.boot (getParentsForDomain): Remove.
	(parentsOf): Call getParentsFor in lieu of getParentsForDomain.
	(folks): Move to define.boot.

2012-02-11  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/br-data.boot (ancestorsRecur): Tidy.
	* interp/define.boot (compDefineCategory2): Likewise.

2012-02-11  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/br-data.boot (getParentsFor): Move to define.boot.
	(explodeIfs): Likewise.
	(getParentsForDomain): Tidy.
	(ancestorsRecur): Likewise.

2012-02-09  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/define.boot (mkEvalableCategoryForm): Compile only
	CATEGORY and SubsetCategory forms.

2012-02-09  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/database.boot (categoryConstructor?): New.
	* interp/define.boot (mkEvalableCategoryForm): Use it.  Tidy.

2012-02-08  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/g-opt.boot (optCall): Simplify SPADCALL of atomic
	function expressions.
	($VMsideEffectFreeOperators): Don't include %funcall.
	($simpleVMoperators): Include it.

2012-02-07  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* algebra/Makefile.in (oa_algebra_layer_0): Include FINITE-.

2012-02-06  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/lisplib.boot (dbLocateModule): New.
	(findModule): Use it.  Simplify.
	(loadLib): Tidy.
	(genericLoadDB): New.
	(loadDB): Use it.
	(loadDBIfCan): New.
	* interp/c-util.boot (lookupDefiningFunction): Give up gracefully
	if the domain of computation is not compiled yet.
	* algebra/Makefile.in ($(OUT)/SPADAST.$(FASLEXT)): Require
	$(OUT)/SUCHTAST.$(FASLEXT). 

2012-02-04  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/nruncomp.boot (getLocalIndex): Fast track niladic
	constructors.
	* algebra/syntax.spad.pamphlet: Miscellaneous cleanup.

2012-02-03  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* utils/vm.H: Add more VM data structures.
	* utils/vm.cc (BasicContext::make_operator): Define.
	* algebra/Makefile.in (SPADFILES): Include syntax.spad and
	spad-parser.spad.

2012-01-14  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* algebra/catdef.spad.pamphlet (Finite) [random]: Provide default
	implementation.
	* algebra/boolean.spad.pamphlet (KleeneTrivalentLogic): Now
	satisfy Finite.  Use Maybe Boolean as representation.

2012-01-14  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/i-util.boot ($intTopLevel): Move to sys-constants.boot.
	* interp/g-error.boot (returnToTopLevel): Tidy.
	* interp/macros.lisp (applyWithOutputToString): Likewise.

2012-01-14  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/spaderror.lisp: Move convent to spad.lisp.  Remove.

2012-01-14  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/patches.lisp: Move content to msgdb.boot.  Remove.

2012-01-14  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/word.boot: Add import and scope statements.  Include in
	final executables.
	(infix?): Remove as duplicate in match.boot.
	(prefix?): Likewise.
	(suffix?): Likewise.
	* interp/g-error.boot (returnToTopLevel): Tidy.
	* interp/debug.lisp (/D-2): Use spadThrow in lieu of UNWIND.
	* interp/patches.lisp (CATCHALL): Remove.
	(DBRINIT): Likewise.
	(TOPLEVEL): Likewise.
	(TOP-LEVEL): Likewise.
	(UNWIND): Likewise.
	(RESUME): Likewise.
	(booFind): Likewise.

2012-01-14  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* lisp/core.lisp.in (mkIntArray): New.  Export.
	* interp/patches.lisp (/RF): Move to cparse.boot.
	(/RQ): Likewise.
	(/RQ,LIB): Likewise.
	(/RF-1): Likewise.
	(/EF): Move to spad.lisp.
	(construct): Remove.
	(READSPADEXPR): Likewise.
	(SHAREDITEMS): Likewise.
	(installStandardTestPackages): Likewise.
	(spadtestValueHook): Likewise.
	(testError): Likewise.
	($TestOptions): Likewise.
	(rebuild): Likewise.
	($ViewportProcessToWatch): Likewise.
	(setViewportProcess): Likewise.
	(waitForViewport): Likewise.
	* interp/i-analy.boot (pushDownOp?): Use mkIntArray in place of
	GETZEROVEC.
	* interp/i-funsel.boot (argCouldBelongToSubdomain): Likewise.
	* interp/i-intern.boot (flagArguments): Likewise.

2012-01-12  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/category.boot: Rename AncestorP to ancestor?.
	Rename DescendantP to descendant?.
	* interp/define.boot: Likewise.
	* interp/functor.boot: Likewise.

2012-01-12  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/parser.boot (bpFunction): New.
	(bpConstTok): Include it.
	* boot/ast.boot (bfFunction): New.
	* boot/tokens.boot: `function' is now a keyword.

2012-01-11  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/tokens.boot (keywordId): New.
	* boot/parser.boot (bpSexpKey): Use it.
	* interp/i-map.boot (mapPredTran): Fix thinko.

2012-01-09  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/parser.boot (bpRequire): New.  Use it throughout this module.

2012-01-08  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/ast.boot (bfEnum): New.
	* boot/translator.boot (translateToplevel): Use it to translate
	enumeration definitions.
	* interp/types.boot (%ConstructorKind): Use new syntax.

2012-01-01  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/define.boot (evalCategoryForm): New.
	(mkCategoryPackage): Use it.
	(compMakeCategoryObject): Likewise.
	* interp/nruncomp.boot (NRTsetVector4a): Likewise.