2011-12-30  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* algebra/fraction.spad.pamphlet (Localize): Tidy.

2011-12-28  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/vmlisp.lisp (SORTBY): Remove.
	(QSORT): Likewise.
	* interp/c-util.boot (formal?): Rename from isFormal.  Avoid POSITION.
	* interp/sys-utility.boot (sortBy): New.
	* interp/br-op1.boot: Use it.
	* interp/clam.boot: Likewise.
	* interp/define.boot: Likewise.
	* interp/i-output.boot: Likewise.
	* interp/i-coerfn.boot: Likewise.
	* interp/i-syscmd.boot: Likewise.
	* interp/showimp.boot: Likewise.
	* boot/tokens.boot: "<-" is now a token.
	* boot/ast.boot (bfKeyArg): New.
	(bfExpandKeys): Likewise.
	(bfApplication): Use it.
	* boot/parser.boot (bpKeyArg): New.
	(bpAssign): Use it.  Parse named arguments.

2011-12-28  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/tokens.boot: Remove redundant renaming of REM.
	loopBody and loopExit are not selectors.
	* interp/i-output.boot: Include sys-utility.
	* interp/sys-utility.boot (last): New macro.
	(loopBody): Likewise.
	* interp/vmlisp.lisp (LASTNODE): Remove.
	(LASTPAIR): Likewise.
	(last): Do not define here.

2011-12-27  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/tokens.boot: Do not rewrite drop and take.
	* boot/utility.boot (drop): Define and export.
	(take): Likewise.
	* interp/br-con.boot: Use take, not TAKE; use drop, not DROP.
	* interp/br-data.boot: Likewise.
	* interp/br-op1.boot: Likewise.
	* interp/br-saturn.boot: Likewise.
	* interp/c-doc.boot: Likewise.
	* interp/c-util.boot: Likewise.
	* interp/cattable.boot: Likewise.
	* interp/clammed.boot: Likewise.
	* interp/compiler.boot: Likewise.
	* interp/database.boot: Likewise.
	* interp/define.boot: Likewise.
	* interp/guess.boot: Likewise.
	* interp/htsetvar.boot: Likewise.
	* interp/i-analy.boot: Likewise.
	* interp/i-eval.boot: Likewise.
	* interp/i-funsel.boot: Likewise.
	* interp/i-map.boot: Likewise.
	* interp/i-output.boot: Likewise.
	* interp/i-special.boot: Likewise.
	* interp/i-syscmd.boot: Likewise.
	* interp/i-toplev.boot: Likewise.
	* interp/i-util.boot: Likewise.
	* interp/nruncomp.boot: Likewise.
	* interp/parse.boot: Likewise.
	* interp/record.boot: Likewise.
	* interp/setvars.boot: Likewise.
	* interp/slam.boot: Likewise.
	* interp/trace.boot: Likewise.
	* interp/word.boot: Likewise.
	* interp/macros.lisp (DROP): Remove.
	(TAKE): Likewise.

2011-12-27  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/g-opt.boot (coagulateWhenSeries): Simplify.
	(packWhen!): Likewise.
	(unnestWhen!): Tidy.
	(removeScope!): Handle %when forms.

2011-12-27  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/g-opt.boot (exitScope?): Now return an expression or nil.
	(cancelScopeLeave!): Tidy.

2011-12-27  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* algebra/prs.spad.pamphlet (PseudoRemainderSequence): Tidy.

2011-12-27  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/g-opt.boot (changeVariableDefinitionToStore): Tidy.
	Remove handling of IF forms as no longer relevant.
	* algebra/matfuns.spad.pamphlet
	(MatrixLinearAlgebraFunctions) [rank]: Tidy.

2011-12-27  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* algebra/matfuns.spad.pamphlet
	(InnerMatrixLinearAlgebraFunctions) [rank]: Tidy.

2011-12-24  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/g-opt.boot (unnestWhen!): Recurse into more control
	structures.

2011-12-24  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* algebra/rep2.spad.pamphlet (RepresentationPackage2)
	[areEquivalent?]:  Tidy.

2011-12-18  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/g-opt.boot (unnestWhen!): New.
	(packWhen!): Simplify.
	(optimize!): Run before changeVariableDefinitionToStore.

2011-12-17  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/g-opt.boot (removeScope!): New.
	(optimize!): Call it.
	(optimizeFunctionDef): Simplify.

2011-12-17  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/compiler.boot (compColon): Handle multiple declarations
	properly.

2011-12-17  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/compiler.boot (finishVectorCollect): Rename from
	optCollectVector. Move here.
	(compRepeatOrCollect): Use it.

2011-12-16  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/g-opt.boot (freeIteratorFirstValues): New.
	(cleanLoop!): Use it.
	* interp/lisp-backend.boot ($freeVarName): Remove.
	(loopVarInit): Do not generate initializer for free iterators.
	Adjust callers.
	(massageFreeVarInits): Remove.  Adjust caller.

2011-12-16  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/compiler.boot (finishListCollect): New.
	(compRepeatOrCollect): Use it.
	* interp/g-opt.boot (optCollectVector): Likewise.
	* interp/lisp-backend.boot (expandCollect): Likewise.

2011-12-15  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/g-util.boot (prefixWalk!): New.
	* interp/g-opt.boot (cleanLoop!): Rename from removeLoopExitTag!.
	Adjust caller.  Rewrite as a prefix walk.

2011-12-15  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/g-opt.boot (removeLoopExitTag!): New.
	(optimize!): Run it first.
	* interp/compiler.boot (nullifyTargetingLeaves): Remove.
	(massageLoop): Likewise.
	(compRepeatOrCollect): Don't call it anymore.

2011-12-15  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/compiler.boot: Rename %loop to %repeat.  Propagate.
	* interp/g-opt.boot: Likewise.
	* interp/i-map.boot: Likewise.
	* interp/i-special.boot: Likewise.
	* interp/lisp-backend.boot: Likewise.
	* interp/slam.boot: Likewise.

2011-12-15  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/g-opt.boot (modified?): Tidy.

2011-12-15  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* lisp/core.lisp.in: Do not require SB-SPROF or SB-POSIX on Windows.

2011-12-14  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/g-opt.boot (packWhen!): Tidy.

2011-12-14  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/g-opt.boot (exitScope?): New.
	(packWhen!): Use it.
	(coagulateWhenSeries): Tidy.
	(cancelScopeLeave!): Likewise.

2011-12-14  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/g-opt.boot (removeNeedleesLeave): Remove.
	(optScope): Adjust.
	(removeLeave!): New.
	(optimize!): Run it at the very beginning.

2011-12-13  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/g-opt.boot (optSeq): Remove.  Adjust callers.

2011-12-13  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/g-opt.boot (replaceableTemporary?): Remove.
	(optSeq,getRidOfTemps): Likewise.
	(optSeq): Rewrite.
	* interp/slam.boot (compileRecurrenceRelation): Tidy.

2011-12-13  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/g-opt.boot (removeJunk!): Rename from removeSeq!
	(cancelScopeLeave!): New.
	(inlineLocals!): Tidy.
	(optimize!): Run cancelScopeLeave! right after removeJunk!.

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

	* interp/g-opt.boot: Rework.  Schedule conditional splitting
	before changing %LETs to %stores.  Run beta reduction and
	condtional splitting afterward, one more time.
	(optimizeFunctionDef): Simplify.

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

	* interp/g-opt.boot (packWhen!): Tidy.
	(spliceSeq!): New.
	(optimize!): Run splice! packWhen! twice.

2011-12-11  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/g-util.boot (liftAassignments!): New.
	(splitAssignments!): Use it.
	* algebra/multpoly.spad.pamphlet (SparseMultivariatePolynomial):
	Fix thinko.

2011-12-11  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/g-opt.boot (inlineLocals!): Single-used temporaries should go.
	(spliceSeqArgs): Splice sequences drapped in %scope cloths too.

2011-12-11  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/compiler.boot (compColon): Give initial %undefined value
	to local variable declarations which are not definitions.
	* interp/lisp-backend.boot (expandToVMForm): Translate %undefined.

2011-12-10  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/g-opt.boot (optSeq): Remove splicePROGN as redundant.
	* interp/functor.boot (optFunctorBody): Generate %seq form, not PROGN.
	(DescendCode): Likewise.
	* interp/c-util.boot (displayComp): Fix thinko.

2011-12-10  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/g-opt.boot (optSeq): Remove seqToCOND as now redundant
	with packWhen!.

2011-12-10  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/parser.boot (bpArgtypeList): Accept mapping types.
	* boot/ast.boot (bfType): New.
	* boot/translator.boot (genDeclaration): Use it.
	* boot/utility.boot (every?): New.  Export.
	(any?): Likewise.
	(takeWhile): Lilkewise.

2011-12-10  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/g-opt.boot (mkDefault): New.
	(coagulateWhenSeries): Likewise.
	(packWhen!): Likewise.  Use them.
	(optimize!): Call it.  Tidy.

2011-12-09  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/lisp-backend.boot (loopVarInit): Generate VM forms, not Lisp.
	(expandIN): Likewise.
	(expandON): Likewise.
	(expandSTEP): Likewise.
	(expandUNTIL): Likewise.
	(expandWHILE): Likewise.
	(expandSUCHTHAT): Likewise.
	(expandInit): Likewise.
	(expandIterators): Likewise.
	(massageFreeVarInits): Likewise.
	(expandLoop): optimize! then expand.

2011-12-09  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/g-opt.boot (packWehn!): New.
	(optimize!): Use it.

2011-12-07  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/g-opt.boot (tranformIF!): New.
	(optimize!): Likewise.  Abstract from optimizeFunctionDef.
	(optimize): New.
	(optimizeFunctionDef): Use optimize!.
	(simplifyVMForm): Do not call optIF2COND.
	(optIF2COND): Remove.
	* interp/compiler.boot (compHasFormat): Use optimize! in lieu of
	simplifyVMForm.
	* interp/nruncomp.boot (NRTencode): Use optimize.
	(NRTsetVector4a): Likewise.

2011-12-07  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/g-opt.boot: %writeString, %writeNewline and %writeLine
	are side-effect full.
	(removeSeq!): Tidy.  Skip side-effectfree statements.

2011-12-07  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/g-opt.boot (removeSeq!): New.
	(inlineLocals!): Likewise.
	(optimizeFunctionDef): Use them.
	(optSeq): Tidy.
	* interp/buildom.boot (seteltRecordFun): Tidy.
	* interp/clam.boot (compHash): Likewise.

2011-12-07  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/g-opt.boot (groupTranscients!): New.
	(reduceXLAM!): Likewise.
	(optimizeFunctionDef): Call them before simplifyVMForm.
	* interp/g-util.boot (mkSeq): New.
	(abstraction?): Likewise.
	(walkWith!): Likewise.

2011-12-07  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/compiler.boot (compReduce1): Tidy.
	* interp/define.boot (compDefineCategory2): Likewise.
	* interp/nruncomp.boot (buildFunctor): Likewise.
	* interp/slam.boot (compileRecurrenceRelation): Likewise.
	* interp/lisp-backend.boot (expandSeq): Use PROGN in absence of EXIT.

2011-12-06  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/compiler.boot (setqMultipleExplicit): Introduced
	temporary variables are local to the assignment.

2011-12-06  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/compiler.boot (compResolveCall): Update description.
	(compRetractGuard): Tidy.
	(compRecoverDomain): Likewise.
	(compRecoverGuard): Likewise.
	(compAlternativeGuard): Likewise.
	(compMatchAlternative): Likewise.
	(compMatch): Likewise.

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

	* interp/g-util.boot (splitAssignments): Rework.
	(spliceSeqArgs): Tidy.
	* algebra/gdpoly.spad.pamphlet
	(GeneralDistributedMultivariatePolynomial):  Fix thinko.

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

	* interp/g-opt.boot (changeVariableDefinitionToStore): Separately
	handle %bind and LET forms.
	* interp/g-util.boot (spliceSeqArgs): Recurse into %seq forms.

2011-12-04  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/compiler.boot (freeVarUsage): Handle %bind and LET.

2011-12-04  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/g-util.boot (splitAssignments): New.
	(spliceSeqArgs): Use it.

2011-12-03  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/lisp-backend.boot (hasNoExit?): New.
	(expandSeq): Likewise.  Use it.  Expand %seq forms.

2011-12-03  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/compiler.boot: Use %seq in lieu of PROGN.
	* interp/g-util.boot (spliceSeqArgs): New.
	* interp/g-opt.boot (changeVariableDefinitionToStore): Call it
	before recursing on %seq forms.

2011-12-03  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/compiler.boot (setqMultiple): Handle lhs and rhs of type
	Cross instance.
	* interp/g-util.boot ($DomainNames): Include Cross.
	* interp/cattable.boot (genCategoryTable): Do not eval Cross.
	It is bogus to prepopulate the table with builtin functors anyway.
	* algebra/triset.spad.pamphlet
	(PolynomialSetUtilitiesPackage)[removeRedundantFactors]: Do not
	define `c' and `d' in conditional.  Make the initializer conditional.

2011-12-03  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/nruncomp.boot (washFunctorBody) [clean]: Clean %when
	forms too.

2011-12-03  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/compiler.boot: Replace %labelled with %scope.
	* interp/define.boot: Likewise.
	* interp/g-opt.boot: Likewise.
	* interp/g-util.boot: Likewise. Rename mkLabelled to mkScope.

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

	* interp/g-opt.boot (groupVariableDefinitions): Simplify a bit.
	(optimizeFunctionDef): Likewise.  Change %LET to %store before
	simplification.
	(simplifyVMForm): Do not call changeVariableDefinitionToStore.

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

	* interp/g-util.boot (hasNoLeave?): Move from g-opt.boot.
	(mkLabelled): New.
	(mkBind): Likewise.
	* interp/g-opt.boot (groupVariableDefinitions): Use them.
	* algebra/aggcat.spad.pamphlet (ListAggregate) [merge!]: Declare
	local variables `r' and `s' before assigning to them.

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

	* interp/g-opt.boot (iteratorName): New.
	(changeLoopVarDefsToStore): Likewise.
	(changeVariableDefinitionToStore): Use it.  Tidy.
	(groupVariableDefinitions): Tidy.

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

	* interp/buildom.boot (seteltRecordFun): Change EXIT to %exit.
	* interp/clam.boot (compHash):Likewise.
	* interp/g-opt.boot (changeVariableDefinitionToStore): Likewise.
	(jumpToToplevel?): Likewise.
	(groupVariableDefinitions): Likewise.
	(changeLeaveToExit): Likewise.
	(optLabelled): Likewise.
	(optSeq): Likewise.
	* interp/lisp-backend.boot: Translate %exit to EXIT.

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

	* interp/buildom.boot (setelt): Change SEQ to %seq.
	* interp/clam.boot (compHash): Likewise.
	* interp/compiler.boot (freeVarUsage): Likewise.
	(canReturn): Likewise.
	* interp/i-special.boot (compileIs): Likewise.
	* interp/g-opt.boot (changeVariableDefinitionToStore): Likewise.
	(jumpToToplevel?): Likewise.
	(groupVariableDefinitions): Likewise.
	(changeLeaveToExit): Likewise.
	(optLabelled): Likewise.
	(optSeq): Rename from optSEQ.  Adjust callers.
	* interp/lisp-backend.boot: Translate %seq to SEQ.

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

	Fix SF/3448433
	* interp/br-util.boot (bcPred): Do not compare pred against a string.

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

	* interp/g-opt.boot (modified?): Examine the rhs too.

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

	* interp/g-opt.boot (changeVariableDefinitionToStore): Handle SEQ
	forms too.
	(groupVariableDefinitions): Handle %bind and %loop forms.
	* interp/lisp-backend.boot (expandLoop): Special code for case
	where there is explicit exit condition, for better pretty-printing.

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

	* interp/g-opt.boot (groupVariableDefinitions): Look through
	%labelled and %lambda.
	(optimizeFunctionDef): Use copyTree, not COPY. Simplify.
	(simplifyVMForm): Perform changeVariableDefinitionToStore and
	groupVariableDefinitions on abstraction forms.

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

	* interp/define.boot (compDefineCategory): Lose prefix parameter.
	It is always nil. Adjust caller.
	(compDefineCategory1): Likewise.
	(compDefineCategory2): Likewise.
	(compDefineFunctor): Likewise.
	(compDefineFunctor1): Likewise.  Bind it to nil.
	* interp/lisplib.boot (compDefineLisplib): Likewise.

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

	* interp/compiler.boot (compSeq1): Generate %labelled forms.
	(coerceExit): Likewise.
	(compRepeatOrCollect): Likewise.
	(replaceExitEtc): Tidy.
	(canReturn): Likewise.
	(compIterate): Generate %lave form.
	(nullifyTargetingLeaves): Move out of massageLoop.
	(massageLoop): Adjust.
	* interp/define.boot (compDefineCapsuleFunction): Generate
	%labelled form for the body.
	* interp/g-opt.boot: Now handle %labelled and %leave forms.
	(optLabelled): Rename from optCatch.

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

	* interp/buildom.boot (UnionEqual): Use %lambda, not %lam.
	(coerceUn2E): Likewise.
	* interp/compiler.boot (massageLoop): %leave now takes a label as
	first argument.
	* interp/lisp-backend.boot (expandLeave): New.  Expand accordingly.

2011-11-30  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/define.boot (registerInlinableDomain): Lose last argument.
	Recursively nominate constructor argument for inlining. Adjust callers.
	* interp/c-util.boot: Tidy.
	* algebra/Makefile.in: Tidy.

2011-11-30  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/c-util.boot (clearReplacement): Clear redex replacement.
	(registerRedexForm): New.
	(redexForm): Likewise.
	(inlineDirectCall): Inline functions with known redex forms.
	(foldExportedFunctionReferences): Compute redex forms.
	(backendCompileILAM): Remove as unused.
	(backendCompile2): Adjust.
	(massageBackendCode): Likeiwse.
	* interp/define.boot (compDefineCapsuleFunction): Clear
	replacement info.

2011-11-29  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/tokens.boot (absKind, absParms, absBody): New selectors.
	* interp/compiler.boot (canReturn): Handle %lambda forms.
	(compUnnamedMapping): Generate %lambda forms. Don't optimize them
	yet. 
	* interp/g-opt.boot: %lambda forms are side-effect free.
	* interp/lisp-backend.boot: Translate them.

2011-11-29  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/g-opt.boot (isSimpleForm): Remove as unused.
	(floatableVMForm?): New.
	(modified?): Rename form varIsAssigned.
	(canInlineVarDefinition):  Tidy.  Allow intermediate temporaries
	initialized from variables to be inlined if not modified.
	(optBind): Tidy.

2011-11-28  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/nruncomp.boot (genDeltaEntry): Use $ for the domain of
	computation it if is the expanded form of the current domain.

2011-11-28  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/c-util.boot (inlineDirectCall): Inline a non-side effect
	free argument in a unary pure function call if it is used exactly once.
	* algebra/integer.spad.pamphlet (Integer) [reducedSystem]: Fix typo.

2011-11-28  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/define.boot (encodeCatform): Handle $ here.
	* interp/nruncomp.boot (deltaTran): assocIndex now handles $.
	(getLocalIndex): Likewise.
	(NRTencode): Handle $ before calling assocIndex.
	(assocIndex): Handle $.

2011-11-27  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/nruncomp.boot (genDeltaEntry): Replace Rep with its value
	if it is the domain of computation.

2011-11-27  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/database.boot (dbDefaultPackage?): New.
	* interp/define.boot (compDefine1): Avoid encodeItem when
	symbolName is meant.
	(mkRepititionAssoc): Move from functor.boot
	(encodeItem): Likewise.
	(getCaps): Likewise. Tidy.
	(encodeFunctionName): Likewise.

2011-11-27  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/define.boot (assignCapsuleFunctionSlot): Slot original
	signature too.
	* interp/nruncomp.boot (genDeltaEntry): Likewise.
	(getLocalIndex): Tidy.
	(changeDirectoryInSlot1):  Tidy.
	(vectorLocation): Add a kind of operation as fourth argument.
	Adjust caller. Do not reconstruct the signature.
	(NRTsubstDelta): Remove as no longer used.

2011-11-26  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/nruncomp.boot (assocIndex): Rename from NRTassocIndex.
	Adjust callers.

2011-11-26  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/define.boot (assignCapsuleFunctionSlot): Do not call
	NRTisExported?.  Determine operation kind locally.  Do not store
	implement slot on the used entity list.
	* interp/nruncomp.boot (genDeltaEntry): Likewise.
	(deltaTran): Simplify.
	(NRTisExported?): Remove.
	(vectorLocation): Adjust.

2011-11-26  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* algebra/indexedp.spad.pamphlet: Avoid direct use or RPLACD.
	* algebra/poly.spad.pamphlet: Likewise.
	* interp/define.boot (spadCompileOrSetq): Tidy replacement info.
	* interp/i-output.boot ($BinaryOperators): New.
	(binaryInfix?): Tidy.

2011-11-26  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/nruncomp.boot (genDeltaEntry): Split first argument into
	separate arguments (operation and modemap).  Adjust callers.

2011-11-26  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/c-util.boot (updateCapsuleDirectory): Simplify.
	* interp/define.boot (compDefineCapsuleFunction): Call it from here.
	* interp/functor.boot (DescendCode): Not here.

2011-11-26  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/define.boot ($NRTdeltaList): Remove.
	($NRTdeltaListComp): Likeewise.
	(compDefineFunctor1): Do not bind them.
	(assignCapsuleFunctionSlot): Use dbUsedEntities.
	* interp/nruncomp.boot (NRTaddDeltaCode): Likewise.
	(dbEntitySlot): New.
	(NRTassocIndex): Use it.
	(genDeltaEntry): Use dbUsedEntities.
	(getLocalIndex): Likewise.
	(vectorLocation): Likewise.
	(NRTsubstDelta): Likewise.

2011-11-25  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/br-con.boot (conOpPage1): Fix typo.
	* interp/c-util.boot (registerConstructor): New.
	(currentConstructor): Likewise.
	(makeCompilationData): Initialize dbEntityBuffer.
	(dbEntityBuffer): New.
	(dbUsedEntities): Likewise.
	(dbEntityCount): Likewise.
	* interp/compiler.boot: Adjust call to getLocalIndex, NRTassocIndex
	* interp/define.boot: Likewise.
	($NRTdeltaLength): Remove.
	* interp/nruncomp.boot: Likewise.

2011-11-25  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/define.boot (processDefinitionParameters): New.  Abstract
	from compDefineCapsuleFunction.
	(compDefineCapsuleFunction): Use it.  Tidy.

2011-11-25  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/define.boot: Rearrange order of some definitions.
	(getArgumentMode): Tidy.
	(hasSigInTargetCategory): Likewise.
	(refineDefinitionSignature): New. Abstract from
	compDefineCapsuleFunction. 
	(compDefineCapsuleFunction): Use it.  Tidy.

2011-11-24  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/define.boot ($suffix): Remove toplevel declaration.
	(localOperation?): New.
	(compDefineCapsuleFunction): Increment $suffix.  Check for local
	and exported function definition here.
	(compile): Move capsule-local function processing out.

2011-11-24  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/define.boot: Tidy.
	* interp/functor.boot: Likewise.
	* interp/g-util.boot: Likewise.
	* interp/slam.boot: Likewise.
	* interp/topics.boot: Likewise.
	* interp/trace.boot: Likewise.

2011-11-24  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/nruncomp.boot (changeDirectoryInSlot1,sigloc): Add first
	parameter as a DB.  Adjust caller.
	(NRTsubstDelta): Tidy.

2011-11-23  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/functor.boot (findOperatorImplementations): Rename from
	LookUpSigSlots.  Tidy.  Adjust caller.
	(makeMissingFunctionEntry): Remove as unused.

2011-11-23  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/define.boot ($CheckVectorList): Remove.
	(compDefineFunctor1): Do not bind it.
	(reportOnFunctorCompilation): Do not call displayMissingFunctions.
	(displayMissingFunctions): Remove as useless.
	* interp/functor.boot (SetFunctionSlots): Do not set slot in the
	first vector of $catvecList.
	* interp/nruncomp.boot (buildFunctor): Remove makeCatvecCode,
	emptyVector, domainShell.  Do not call NRTcheckVector.
	(NRTcheckVector): Remove as useless.

2011-11-23  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/nruncomp.boot (NRTaddDeltaCode): Do not guard the loop by
	the values in the first vector in $catvecList.  It is pointless.

2011-11-23  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/functor.boot (SigSlotsMatch): Remove.  Adjust caller.
	(LookUpSigSlots): Tidy.

2011-11-22  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/define.boot (compile): Take the signature as third argument.
	Adjust callers.
	(compDefineFunctor1): Do not bind $functionLocations.
	(compDefineCapsuleFunction): Do not update.
	* interp/lisplib.boot (transformOperationAlist): Do not consult
	$functionLocations.

2011-11-22  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/define.boot (assignCapsuleFunctionSlot): Move from
	nruncomp.boot.  Rename from NRTassignCapsuleFunctionSlot.  Take
	first parameter as a DB.  Adjust callers.
	(compDefineCapsuleFunction): Tidy.

2011-11-21  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/nruncomp.boot (getLocalIndex): Rename from NRTgetLocalIndex.
	Adjust callers.
	* interp/compiler.boot: Adjust.
	* interp/define.boot: Likewise.

2011-11-18  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/category.boot (FindFundAncs): Tidy.  Access input in
	accordance with documented abstract structure.

2011-11-17  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/i-eval.boot (evaluateType): Handle % and and signatures.
	(evaluateFormAsType): Handle builtin constructor instantiations.

2011-11-16  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/category.boot (mkCategory): Tidy.
	(SigListUnion): Likewise.  The last argument is not a vector buffer.
	(JoinInner):  Use a vector buffer for scratch space to compute the
	initial principal ancestor.  Simplify copy logic.
	* interp/g-util.boot (mkBuffer): New.
	(bufferData): New.
	(buffeLength): Likewise.
	(resizeBuffer): Likewise.
	(bufferToVector): Likwise.
	* lisp/core.lisp.in (mkVector): New.  Export.

2011-11-15  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/category.boot (JoinInner): Remove effective dead code
	controlled by originalvector which has non-changing value false.

2011-11-15  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/category.boot (JoinInner): Use idiomatic Boot for loops.

2011-11-14  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/category.boot ($NewCatVec): Remove.
	(SigListUnion): Take the principal ancestor
	as third argument.  Use it instead of $NewCatVec.  Adjust caller.
	(JoinInner): Do not bind $NewCatVec.  Introduce local variable
	principal.   Tidy.

2011-11-13  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/category.boot (filterConditionalCategories): Split out of
	JoinInner.
	(JoinInner): Call it.

2011-11-13  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/category.boot (SigListMember): Remove as deadcode.
	(SigEqual): Remove.
	(predicateImplies): Rename from PredImplies.  Rework it to match
	documentation.  Adjust callers.
	(CondAncestorP): Adjust arguments in call to predicateImplies.
	(JoinInner): Likewise.

2011-11-13  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* lisp/core.lisp.in: Export %sysInit.
	* interp/sys-driver.boot (%sysInit):  Don't redefine.  Reset
	function binding.

2011-11-13  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/category.boot (JoinInner): Tidy.

2011-11-13  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	Fix SF/3436999
	* utils/storage.H: Revert accidental commit of unfinished changes.

2011-11-13  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/sys-driver.boot (initializeDatabases): Honor --initial-db.
	(initializeGlobalState): Don't bind $compileDefaultsOnly.
	* interp/sys-globals.boot ($compileDefaultsOnly): Remove.
	* interp/define.boot (compDefineCategory): Adjust.
	(compDefineCategory1): Likewise.
	(compDefineFunctor1): Clear dbCapsuleDefinitions.
	* interp/lisplib.boot (compDefineLisplib): Tidy.
	* interp/daase.lisp (BROWSEOPEN): Use dbSourceFile.
	(GETDATABASE): Likewise.
	(LOCALNRLIB): Likewise.
	(WRITE-BROWSEDB): Likewise.
	* algebra/Makefile.in (COMPILE_SPAD): Specifiy initial DB.
	(BOOTSTRAP): Likewise.

2011-11-12  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/br-data.boot (buildLibdbConEntry): Exit early if argument
	is a builtin constructor.
	(mkDependentsHashTable): Filter out builtin constructors.
	* interp/cattable.boot (genCategoryTable): Likewise.
	* interp/database.boot (getConstructorModemap): Load the
	contructor if necessary and try again before failing.
	* interp/define.boot (NRTgetLookupFunction): Handle multiple
	inheritance of domains.
	(getBaseExports): Rename from getExportCategory.  Adjust caller.
	Handle multiple inheritance of domains.
	(extendsCategory): Do not reference $functorForm.  Take it from
	the DB argument.
	(getTargetFromRhs): Do not optimize codegen.

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

	* interp/define.boot (getTargetFromRhs): Do not try to record
	references to used entities.

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

	* interp/define.boot (compDefineCapsuleFunction): Take first
	argument as a DB for the current constructor.  Adjust callers.
	(compile): Likewise.
	(spadCompileOrSetq): Likewise.
	(compileConstructor): Likewise.
	(compileConstructor1): Likewise.

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

	* interp/br-data.boot: Change NRTEVAL to %eval.
	* interp/c-util.boot: Likewise.
	* interp/define.boot: Likewise.
	* interp/nruncomp.boot: Likewise.
	* interp/nrunfast.boot: Likewise.
	* interp/showimp.boot: Likewise.

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

	* interp/c-util.boot (dbByteList): New accessor macro.
	* interp/define.boot ($byteVec): Remove.
	(getInfovecCode): Do not bind it.
	(makeGoGetSlot): Take DB as first parameter.  Adjust caller.
	Update dbByteList.
	(NRTmakeCategoryAlist): Adjust.

2011-11-10  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/compiler.boot (applyMapping): Emit special call for
	domain producing mapping variables.
	(compWithMappingMode): Coerce constructors to function objets.
	(compFormWithModemap):  Constructor calls are direct calls.
	Everything else is ordinary indirect call.
	* interp/g-opt.boot (optCall): Handle function objects.
	* interp/nruncomp.boot (NRTencode): Encode the elaboration of
	atomic forms, not the source level form.
	* testsuite/compiler/ctor-mapping.spad: New.

2011-11-10  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* algebra/boolean.spad.pamphlet (IndexedBits) [Not, Or, And]: Remove.
	Implement ~. \/, and /\ instead.
	* algebra/si.spad.pamphlet (SingleInteger): Likewise.
	* algebra/pattern.spad.pamphlet (Pattern): Adjust.
	* algebra/string.spad.pamphlet (CharacterClass): Likewise.

2011-11-09  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/daase.lisp (dbLookupFunction): New accessor macro.
	* interp/c-util.boot (lookupDefiningFunction): Use it.  Tidy.
	* interp/define.boot ($lookupFunction): Remove.
	(getInfovecCode): Use dbLookupFunction.
	(compDefineFunctor1): Set it.  Do not emit %incomplete anymore.
	* interp/lisplib.boot (writeLookupFunction): New.
	(finalizeLisplib): Use it.

2011-11-09  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/define.boot (compDefineFunctor1): Clear dbTemplate before
	compilation starts.
	* interp/lisplib.boot (writeLoadInfo): New.
	(writeTemplate): Likewise.
	(finalizeLisplib): Use it to write template.

2011-11-08  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/define.boot (compFunctorBody): First argument is now a DB.
	Adjustt caller.
	(incompleteFunctorBody): Likewise.
	* interp/bc-matrix.boot: Use toString instead of STRINGIMAGE where
	appropriate.
	* interp/bc-solve.boot: Likewise.
	* interp/bc-util.boot: Likewise.
	* interp/br-con.boot: Likewise.
	* interp/br-op1.boot: Likewise.
	* interp/br-saturn.boot: Likewise.
	* interp/c-doc.boot: Likewise.
	* interp/c-util.boot: Likewise.
	* interp/clam.boot: Likewise.
	* interp/format.boot: Likewise.
	* interp/functor.boot: Likewise.
	* interp/g-timer.boot: Likewise.
	* interp/htsetvar.boot: Likewise.
	* interp/i-funsel.boot: Likewise.
	* interp/i-map.boot: Likewise.
	* interp/i-output.boot: Likewise.
	* interp/i-resolv.boot: Likewise.
	* interp/i-special.boot: Likewise.
	* interp/i-syscmd.boot: Likewise.
	* interp/i-util.boot: Likewise.
	* interp/msg.boot: Likewise.
	* interp/newfort.boot: Likewise.
	* interp/parse.boot: Likewise.
	* interp/pathname.boot: Likewise.
	* interp/setvars.boot: Likewise.
	* interp/showimp.boot: Likewise.
	* interp/slam.boot: Likewise.
	* interp/trace.boot: Likewise.

2011-11-07  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/lisplib.boot (isDomainForm): Tidy.

2011-11-07  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/lisplib.boot (getConstructorOpsAndAtts): Fold content in
	called. Remove.
	(getFunctorOpsAndAtts): Simplify.
	(getSlotFromFunctor): Rework.
	* interp/define.boot (getInfovecCode): Bind $byteVec and
	$byteAddress here.
	(compDefineFunctor1): Not here.

2011-11-06  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/compiler.boot ($compileOnlyCertainItems): Remove.
	* interp/define.boot ($NRTslot1Info): Likewise.
	(getInfovecCode): Add additional environment argument.  Adjust caller.
	Call NRTmakeSlot1Info here.
	(NRTgetLookupFunction): Lose second and third arguments.  They are
	derivable from the DB argument.  Adjust caller.
	(compDefineFunctor1): Do not bind $NRTslot1Info.
	(compDefineCapsuleFunction): Adjust.
	(compile): Likewise.
	* interp/i-syscmd.boot (compilerDoitWithScreenedLisplib):
	Remove. Adjust caller.
	* interp/nruncomp.boot (NRTmakeSlot1Info): Tak a DB argument.
	Adjust caller.
	(mkSlot1sublis): Remove.

2011-11-06  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* utils/vm.H: Redefine value representation.

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

	* interp/c-doc.boot (checkBalance): Fix a latent logic bug.
	* algebra/Makefile.in: Tidy.

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

	* algebra/Makefile.in: Rework bootstrap dependency.

2011-11-04  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/functor.boot (compCategories): Take second parameter as
	environment.  Adjust callers.
	(compCategories1): Likewise.
	(NewbFVectorCopy): Remove as deadcode.
	(worthlessCode): Tidy.
	(DescendCode): Take additional environment parameter.  Adjust callers.
	* interp/define.boot (isMacro): Simplify.
	(wrapDomainSub): Remove.  Adjust callers.
	* algebra/Makefile.in (strap-2/%.$(FASLEXT)): Fix typo.

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

	* interp/lisplib.boot (findModule): Tidy.
	(loadLib): Exit early on builtin constructors.
	(loadDB): Likewise.

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

	* interp/spad-parser.boot (parseSpadFile): Use $lineStack not
	BOOT-LINE-STACK.  Use try/finally to ensure streams are closed.
	* interp/spad.lisp (New,ENTRY,2): Use parseNewExpr.
	* interp/util.lisp (string2SpadTree): Likewise.

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

	* interp/c-util.boot (dbSubstituteAllQuantified): New.
	* interp/define.boot (NRTmakeCategoryAlist): Use it.
	(compDefineFunctor1): Likewise.

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

	Add compiler support for implicit parameters.
	* interp/compiler.boot (bindPredicateExistentials): Rename from
	constructorCondition.  Now return a substitution on success,
	otherwise failure.
	(solveEquation): New.
	(solveSubsumption): Likewise.
	(deduceImplicitParameters): Likewise.
	(evaluateConstructorModemap): Use it. Tidy.

2011-10-31  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	Add interpreter support for implicit parameters.
	* interp/i-funsel.boot (evalMmCond0): Tidy. Call evalMmGuard to
	validate modemap evaluation.
	(evalMmGuard): New.
	(evalMmCat): Do not call orderMmCatStack here. The stack is
	already ordered by evalMmGuard, sole caller.
	(hasCate): Handle domain query variables.
	(unifyStruct): Call unifyQueryStruct for query variables.
	(unifyQueryStruct): New.
	* interp/g-util.boot (postComposeSubst): New.
	(queryVar?): Likewise.

2011-10-30  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/compiler.boot (evaluateConstructorModemap): Rename from
	substituteInfoFunctorModemap.
	(constructorCondition): New.
	* interp/define.boot (compDefineCategory2): Compute dual signature
	early on.
	(compDefineFunctor1): Likewise.
	(typingKind): New.
	(deduceImplicitParameters): Use it.
	* interp/database.boot (modemapsFromCategory): Take a first
	argument as a DB.  Tidy.  Adjust caller.  Add constructor condition.
	(modemapsFromFunctor): Likewise. Lose last argument.
	(mkDatabasePred): Remove.
	(formal2Pattern): Likewise.

2011-10-30  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/sys-macros.lisp (MKPF1): Tidy.
	* interp/sys-constants.boot ($QueryVariables): New.
	* interp/define.boot ($whreDecls): Remove.
	(checkRepresentation): Take a DB as first parameter.  Adjust Callers.
	(buildConstructorCondition): New
	(deduceImplicitParameters): Likewise
	(compDefineCategory2): Use it.
	(compDefineFunctor1): Likewise.
	(typeDependencyPath): Remove.
	(inferConstructorImplicitParameters): Likewise.
	* interp/compiler.boot (compTopLevel): Do not bind $whereDecls.
	(recordDeclarationInSideCondition): Take additional reference
	parameter to the list of processed decls.  Adjust callers.
	(compWhere): Record any side decls in compilation environment.
	* interp/c-util.boot (makeCompilationData): Initialize implicit data.
	(dbParameters): New.
	(dbImplicitData): New accessor macro.
	(dbImplicitParameters): New.
	(dbImplicitConstraints): Likewise.
	(dbSubstituteFormals): Likewise.
	(dbSubstituteQueries): Likewise.
	* interp/database.boot (fixUpPredicate): Tidy.
	* boot/utility.boot (applySubst): Early exit on identity substitution.
	(applySubst!): Likewise.
	(applySubstNQ): Likewise.
	* boot/ast.boot (bfIS1): Accept pattern matching against Boolean
	constant true.

2011-10-29  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/daase.lisp (dbCompilerData): New accessor macro.
	(dbBeingDefined?): Adjust.
	* interp/c-util.boot (makeCompilationData): New.
	(dbFormalSubst): New accessor macro.
	(dbSubstituteFormals): New.
	* interp/define.boot ($pairlis): Remove.
	(NRTmakeCategoryAlist): Use dbSubstituteFormals.
	(NRTgetLookupFunction): Likewise.
	(compDefineCategory2): Likewise.  Set dbCompilerData and dbFormalSubst.
	(compDefineFunctor1): Likewise.
	* interp/functor.boot (ProcessCond): Use dbSubstituteFormals.
	* interp/lisplib.boot (NRTgenInitialAttributeAlist): Likewise.
	(makePredicateBitVector): Likewise.
	(finalizeLisplib): Do not set $pairlis.

2011-10-29  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/nruncomp.boot (NRTaddDeltaCode): Take a DB parameter.
	Adjust callers.
	(NRTdescendCodeTran): Likewise.
	* interp/define.boot (makeDomainTemplate): Lose second argument.
	Adjust callers.
	(NRTgetLookupFunction): Take a DB as first argument.  Adjust callers.
	(NRTextendsCategory1): Likewise.
	(extendsCategory): Likewise.
	(compDefineFunctor1): Do not find $template.  Set dbTemplate.

2011-10-29  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/define.boot ($atList, $sigList): Remove.
	(compSignature): Take a fourth parameter.
	(compCategoryItem): Take two more parameters.
	(compCategory): Create references to signature and attribute lists
	and pass them to callees.

2011-10-29  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/lisplib.boot (makePredicateBitVector): Take a DB argument.
	Set dbPredicates.
	(compConLib1): Set dbPredicates to nil.
	(compDefineLisplib): Likewise.
	(finalizeLisplib): Write dbPredicates.
	* boot/tokens.boot (copyTree): Do not translate.
	* boot/utility.boot (topyTree): Implement.  Export.

2011-10-29  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/define.boot (getInfovecCode): Take a DB argument.  Pass
	it to callees.  Adjust caller.
	* interp/database.boot (getConstructorPredicates): If contructor
	is being defined, return the predicates as currently known.
	* interp/daase.lisp (INITIAL-GETDATABASE): Remove
	(fillDatabasesInCore): Adjust.

2011-10-29  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/compiler.boot (compHasFormat): Simplify type form.

2011-10-28  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/nruncomp.boot (mkDomainCatName): Remove.
	* interp/daase.lisp (DATABSE): Add new field TEMPLATE.
	(dbTemplate): New macro accessor.
	* interp/clam.boot (clearCategoryCaches): Clear dbTemplate.
	* interp/define.boot (DomainSubstitutionFunction): Generate code
	to access or set dbTemplate.

2011-10-28  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/daase.lisp (DATABASE): Add new field CAPSULE-DEFINITIONS.
	(dbCapsuleDefinitions): New macro accessor.
	* interp/functor.boot (encodeFunctionName): Set it.
	* interp/lisplib.boot ($lisplibVariableAlist): Remove.
	($lisplibSignatureAlist): Likewise.
	(writeCapsuleLevelDefinitions): New.
	(finalizeLisplib): Use it.
	(mergeSignatureAndLocalVarAlists): Remove.
	* interp/clam.boot (clearCategoryCaches): Use mkDomainCatName.
	* interp/define.boot (DomainSubstitutionFunction): Likewise.

2011-10-28  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/database.boot (orderPredTran): Tidy.
	(interactiveModemapForm): Likewise.
	(getDCFromSystemModemap): Likewise.
	(getDomainFromMm): Likewise.
	(getAllModemapsFromDatabase): Likewise.
	(getModemapsFromDatabase): Likewise.
	(getSystemModemaps): Likewise.
	(getInCoreModemaps): Likewise.
	(flattenSignatureList): Likewise.

2011-10-28  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/define.boot ($lisplibCategory): Remove.
	(compDefineCategory1): Adjust.
	(compDefineCategory2): Likewise.
	(compDefineCategory): Likewise.
	(compDefineFunctor1): Likewise.
	* interp/lisplib.boot (finalizeLisplib): Likewise.
	* interp/br-data.boot (getParentsFor): Lose last paramater.

2011-10-27  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/sys-globals.boot ($lisplibModemapAlist): Remove.
	* interp/lisplib.boot (compileConstructorLib): Do not bind
	$lisplibModemapAlist.
	(compDefineLisplib): Likewise.
	* interp/database.boot (modemapsFromCategory): Rename from
	augLisplibModmapsFromCategory.  Tidy.  Avoid use of special
	variable $lisplibModemapAlist.
	(modemapsFromFunctor): Rename from augmentLisplibFromFunctor.
	Tidy.  Avoid use of special variable $lisplibModemapAlist.
	* interp/define.boot (compDefineCategory2): Adjust.
	(compDefineFunctor1): Likewise.

2011-10-26  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* algebra/stream.spad.pamphlet (Stream): Tidy accessors.

2011-10-26  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	Support use of any natural number literal as constant name.
	* interp/postpar.boot (postNormalizeName): Remove.
	(postLhsOfDefinition): New.
	(postDef): Use it.
	(postMDef): Likewise.
	(postForm): Remove dead code.
	(postSignature): Internalize names of exported operators.
	* interp/i-intern.boot (mkAtree2): For package call resolution,
	use internal names.
	* interp/compiler.boot (compAtomWithModemap): Use externalName for
	name reported in diagnostic.
	(compIntegerLiteral): New.
	(compAtom): Use it.
	(compElt): Look up modemaps for internal names.
	(getModemapList): Likewise.
	* interp/g-util.boot (normalizeName): New.
	(internalName): Likewise.
	(externalName): Likewise.

2011-10-25  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/postpar.boot (postSignature): Tidy.
	* interp/parse.boot (transCategoryItem): Remove as dead code.
	* interp/lisplib.boot (finalizeLisplib): Remove use of removeZeroOne.
	* interp/cattable.boot (categoryParts): Tidy.

2011-10-25  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* lisp/core.lisp.in (AxiomCore) [CCL]: Import and export
	FFI-related symbols.

2011-10-25  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/compiler.boot (getFormModemaps): Tidy checking of "elt"
	and "setelt" modemaps.

2011-10-25  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* algebra/modmon.spad.pamphlet (ModMonic): Rename second parameter
	from Rep to P.  Addd capsule-level definition for Rep.
	[setPoly]: Adjust parameter type.
	[coerce]: Likewise.
	[UnVectorise]: Restrict reduction to %, then coerce to Rep.
	[monomial]: Add appropriate coercion to Rep.

2011-10-24  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* algebra/perman.spad.pamphlet (Permanent): Specify type of local
	variable j.
	* algebra/patmatch1.spad.pamphlet (PatternMatchTools): Tidy.
	* algebra/padic.spad.pamphlet: Restrict type of literal constants.
	* algebra/sttf.spad.pamphlet: Likewise.
	* algebra/puiseux.spad.pamphlet: Likewise.
	* algebra/odealg.spad.pamphlet (SystemODESolver) [applyLodo0]:
	Specify type of local variable ans.
	* algebra/numtheor.spad.pamphlet (IntegerNumberTheoryFunctions): Tidy.
	* algebra/naalgc.spad.pamphlet (MonadWithUnit) [rightPower]:
	Specify type of local variable res.
	[leftPower]: Likewise.
	* algebra/lodop.spad.pamphlet (NonCommutativeOperatorDivision)
	[leftLcm]: Specify type of local variable v.
	* algebra/intfact.spad.pamphlet (IntegerRoots) [approxSqrt]:
	Specify type of local variables old and new.
	* algebra/elfuts.spad.pamphlet
	(EllipticFunctionsUnivariateTaylorSeries):  Restrict types of
	literal constants.
	* algebra/ffnb.spad.pamphlet
	(FiniteFieldNormalBasisExtensionByPolynomial): Likewise.
	* algebra/fnla.spad.pamphlet (FreeNilpotentLie): Likewise.
	* algebra/intaux.spad.pamphlet (IntegrationResult): Likewise.
	* algebra/defintef.spad.pamphlet
	(ElementaryFunctionDefiniteIntegration) [checkSMP]:  Specify type
	in the 	definition of local variable n.
	* algebra/combinat.spad.pamphlet (IntegerCombinatoricFunctions):
	Tidy definition of local variables.
	* algebra/clifford.spad.pamphlet (CliffordAlgebra): Specify type in
	the definition of local variables k, exchanges, bz.
	* algebra/catdef.spad.pamphlet (CartesianTensor): Specify type in the
	definition of local varibles rx and offz.
	Remove useless variables zol, xol, oly, and zoly.

2011-10-24  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/compiler.boot (compArgumentsAndTryAgain): Fail only if
	elaboration of all arguments fails.

2011-10-23  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/compiler.boot (compOrCroak1): Drop last argument.  Tidy.
	(mostSpecificTriple): New.
	(compAtomWithModemap): Use it to resolve ambiguous constants.
	(formatConstantCandidates): New.
	(compForm1): Do try to compile constants 0 and 1 with compToApply.
	* algebra/polycat.spad.pamphlet (FiniteAbelianMonoidRing)
	[binomThmExpt]:  Tidy.
	(UnivariatePolynomialCategory) [pseudoDivide]: Likewise.
	* algebra/float.spad.pamphlet (Float) [log]: Specificy type for
	local variable `l'.
	* interp/format.boot (formatUnabbreviatedSig): Handle constants.

2011-10-23  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/g-opt.boot ($VMsideEffectFreeOperators): Include %fdecode.
	* interp/lisp-backend.boot: Expand it.
	* algebra/sf.spad.pamphlet (DoubleFloat): Remove %fmanexpr import.
	Use %fdecode to access Lisp-level double-float decoding.
	[mantissa]: Rewrite.
	[exponent]: Likewise.
	[negative?]: Likewise.
	[positive?]: Likewise.
	[manexp]: Likewise.
	* algebra/view2D.spad.pamphlet (TwoDimensionalViewport): Tidy.

2011-10-23  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/compiler.boot (compForm2): Simplify. Don't bother with
	subsumption.  Exit early on empty modemap candidate list.

2011-10-22  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/compiler.boot (compAtomWithModemap): Handle code-gen here.

2011-10-22  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/br-op2.boot (htSayExplicitExports): Don't forget possible
	constant marker in exported signatures.
	* interp/cattable.boot (simpHas): Likewise.
	* interp/format.boot (form2String1): Likewise.
	* interp/i-eval.boot (evaluateSignature): Likewise.
	* interp/i-funsel.boot (hasCaty): Likewise.
	(hasAttSig): Likewise.
	* interp/define.boot (extendsCategory): Likewise.
	(extendsCategoryBasic): Likewise.
	(catExtendsCat?): Likewise.
	(mkExportFromDescription): New.
	(mkCategoryPackage): Use it.
	* boot/tokens.boot: Add new selectors: mapOpsig, mapOperation,
	mapPredicate, and mapImpl.

2011-10-21  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/tokens.boot: Add new selectors: mapOperation, mapSignature,
	mapTarget, mapSource, mapKind.
	* algebra/data.spad.pamphlet (SystemInteger) [min, max]: Disambiguate
	with explicit type annotation.
	(SystemNonNetativeInteger) [min, max]: Likewise.
	* algebra/color.spad.pamphlet (Color) [sample]: Remove parenthesis.
	* algebra/ffnb.spad.pamphlet
	(FiniteFieldNormalBasisExtensionByPolynomial) [sizeOfGroundField]:
	Likewise.
	* algebra/matrix.spad.pamphlet (SquareMatrix) [dimension]: Likewise.
	* algebra/view3D.spad.pamphlet: Likewise.
	* algebra/viewDef.spad.pamphlet: Likewise.
	* algebra/regset.spad.pamphlet (RegularTriangularSetCategory)
	[unitIdealIfCan]:  Remove, was useless.
	* algebra/sregset.spad.pamphlet (SquareFreeRegularTriangularSet)
	[unitIdealIfCan]:  Likewise.
	* algebra/triset.spad.pamphlet (GeneralTriangularSet)
	[unitIdealIfCan]:  Likewise.

2011-10-21  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* algebra/boolean.spad.pamphlet (Boolean) [sample]: Remove
	definition, as it is not exported.

2011-10-21  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	Workaround proclamation bug in GCL
	* boot/utility.boot (firstNonblankPosition): Do not declare.

2011-10-21  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/define.boot (compDefineCapsuleFunction): Reimplement
	signature inference.
	(hasSigInTargetCategory): Implement what the documentation says:
	infer the signature from the target category, not local declaration.

2011-10-20  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/define.boot (checkRepresentation): Prepare for general
	constant definition syntax.
	(compDefine1): Likewise.
	(compDefineCategory1): Likewise.
	(compDefineFunctor1): Likewise.
	(compDefineCapsuleFunction): Likewise.
	(doIt): Likewise.
	(isMacro): Tidy.

2011-10-20  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/lisplib.boot (isDomainForm): Handle conditionals.

2011-10-19  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/postpar.boot (postDef): Do not include list of nil forms
	as special cases.
	* interp/parse.boot (parseDEF): Tidy.
	* interp/define.boot (checkRepresentation): Likewise.
	(compDefine1): Likewise.
	(macroExpand): Likewise.
	(compDefineCategory1): Likewise.
	(compDefineCategory2): Likewise.
	(compDefineFunctor1): Likewise.
	(compDefWhereClause): Likewise.
	(compDefineCapsuleFunction): Likewise.
	(isMacro): Likewise.

2011-10-19  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/postpar.boot (postNormalizeName): New.
	(postAtom): Use it.
	(postMDef): Do not generate artificial list of nils.
	Leave left-hand-side as written in source code.
	* interp/compiler.boot (compMacro): Tidy.
	* interp/define.boot (checkRepresentation): Likewise.
	* interp/parse.boot (parseMDEF): Likewise.
	* algebra/syntax.spad.pamphlet (MacroAst): Adjust.

2011-10-19  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/property.lisp: Move output-related content to i-output.boo.
	Remove.

2011-10-18  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/postpar.boot (displayPreCompilationErrors): Dot not check
	for interactive mode.
	(postBigFloat): Likewise.
	(postDef): Likewise.
	(postMDef): Likewise.
	(tuple2List): Likewise.
	(postReduce): Likewise.
	(postQUOTE): Remove.
	(postQuot): Likewise.
	(postOp): Likewise.
	(postTran): Adjust.
	* interp/newaux.lisp: Replace %LET with ':='.
	* interp/property.lisp: Likewise.
	* interp/g-util.boot (getTypeOfSyntax): Likewise.
	* interp/define.boot (checkRepresentation): Likewise.
	(doIt): Likewise.
	* interp/compiler.boot (compSetq): Likewise.
	(compRecoverGuard): Likewise.
	(compReduce1): Likewise.
	* interp/c-util.boot (lhsOfAssignment): Likewise.
	(isAlmostSimple): Likewise.
	* interp/c-doc.boot (recordAttributeDocumentation): Likewise.
	* interp/parse.boot (parseLeftArrow): Remove.
	(parseLETD): Likewise.
	(parseAssign): Rename from parseLET.
	* algebra/syntax.spad.pamphlet (SpadAst): Handle both cases.

2011-10-17  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/spad-parser.boot (parseSegmentTail): Tidy.
	* interp/postpar.boot (postSEGMENT): Remove.
	(postTupleCollect): Likewise.
	(postBootNotEqual): Likewise.
	* interp/parsing.lisp (CHAR-EQ): Remove.
	(CHAR-NE): Likewise.
	(getToken): Likewise.
	* interp/newaux.lisp: Remove "^=" as legitimate operator.
	* interp/lexing.boot (geToken): Rename from getSpadToken.
	* interp/i-intern.boot (mkAtree3): Check for new form of universal
	segment.
	* interp/parse.boot (parseSegment): Likewise.
	* algebra/seg.spad.pamphlet (Segment): Use .. instead of SEGMENT.
	(SegmentFunctions2): Likewise.
	(UniversalSegment): Likewise.

2011-10-17  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* lisp/core.lisp.in: Add ref and deref to support references.
	* interp/sys-constants.boot ($OperatorFunctionNames): Add "by" and
	"..".
	* interp/spad.lisp: Tidy.
	* interp/spad-parser.boot: New parsers.
	* interp/preparse.lisp: Remove dead codes.
	* interp/parsing.lisp (MATCH-ADVANCE-KEYWORD): Remove.
	* interp/parse.boot (doParseCategory): Rename from parseCategory.
	* interp/newaux.lisp: Tidy.
	* interp/lexing.boot (getSpadToken): New.
	(Keywords): Remove 'when'.
	(matchKeywordNext): New.
	(matchSpecial): Likewise.
	(matchAdvanceSpecial): Likewise.
	(matchAdvanceGlyph): Likewise.
	* interp/fnewmeta.lisp: Move variable definitions to preparse.lisp.
	Remove Lisp based parsers.
	Remove file.
	* interp/c-doc.boot (recordAttributeDocumentation): Fix thinko.
	* interp/bootlex.lisp (GET-BOOT-TOKEN): Remove.
	* interp/Makefile.in: Adjust dependencies.
	* boot/parser.boot (bpChar): New.
	(bpPattern): Allow character constants.

2011-10-16  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* algebra/boolean.spad.pamphlet (Boolean): Implement default
	Boolean operators in terms of Logic operators.
	(PropositionalFormula): Implement Logic operators instead of
	Boolean operators.
	* algebra/exposed.lsp.pamphlet: Expose
	PropositionalFormulaFunctions1 and PropositionalFormulaFunctions2.

2011-10-12  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/spad-parser.spad: New parsing functions.
	* interp/fnewmeta.lisp: Use them,
	(PARSE-Return): Remove.
	(PARSE-Throw): Likewise.
	(PARSE-Jump): Likewise.
	(PARSE-Exit): Likewise.
	(PARSE-Leave): Likewise.
	(PARSE-ElseClause): Likewise.
	(PARSE-Label): Likewise.

2011-10-12  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* algebra/boolean.spad.pamphlet (Reference) [elt]: Remove.
	[setelt]: Likewise.
	* algebra/lodof.spad.pamphlet: Adjust use.
	* algebra/float.spad.pamphlet: Likewise.
	* algebra/divisor.spad.pamphlet: Likewise.
	* algebra/curve.spad.pamphlet: Likewise.
	* algebra/card.spad.pamphlet: Likewise.
	* algebra/algext.spad.pamphlet: Likewise.
	* algebra/op.spad.pamphlet: Likewise.
	* algebra/suls.spad.pamphlet: Likewise.
	* algebra/sups.spad.pamphlet: Likewise.
	* algebra/supxs.spad.pamphlet: Likewise.
	* algebra/suts.spad.pamphlet: Likewise.
	* algebra/symbol.spad.pamphlet: Likewise.
	* algebra/view3D.spad.pamphlet: Likewise.
	* algebra/viewDef.spad.pamphlet: Likewise.

2011-10-11  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/lexing.boot (matchAdvanceKeyword): New.
	* interp/spad-parser.boot: New parsing functions.
	* interp/fnewmeta.lisp: Use them.
	(PARSE-NewExpr): Remove.
	(PARSE-Command): Likewise.
	(PARSE-SpecialKeyWord): Likewise.
	(PARSE-TokenOption): Likewise.
	(PARSE-PrimaryOrQM): Likewise.
	(PARSE-InfixWith): Likewise.
	(PARSE-With): Likewise.
	(PARSE-Inline): Likewise.
	(PARSE-Quanifier): Likewise.
	(PARSE-QuantifiedVariable): Likewise.
	(PARSE-Infix): Likewise.
	(PARSE-Prefix): Likewise.
	(PARSE-Suffix): Likewise.
	(PARSE-TokTail): Likewise.
	(PARSE-Qualification): Likewise.
	(PARSE-Primary): Likewise.
	(PARSE-PrimaryNoFloat): Likewise.
	(PARSE-Quad): Likewise.

2011-10-11  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/lexing.boot (matchAdvanceString): New.
	* interp/spad-parser.boot: New parsing functions.
	* interp/fnewmeta.lisp: Use them.
	(PARSE-VarForm): Remove.
	(PARSE-Scripts): Likewise.
	(PARSE-ScriptItem): Likewise.
	(PARSE-AnyId): Likewise.
	* interp/parsing.lisp (PARSE-OperatorFunctionName): Remove.
	(MATCH-ADVANCE-STRING): Likewise.

2011-10-10  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/lexing.boot (matchString): New.
	* interp/fnewmeta.lisp: Use it.
	* interp/parsing.lisp: Likewise.
	(MATCH-STRING): Remove.

2011-10-10  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/metalex.lisp (DEFUN-PARSE-TOKEN): Remove.
	Move remaining to parsing.lisp.
	* interp/fnewmeta.lisp (PARSE-IntegerTok): Remove.
	(PARSE-FloatTok): Likewise.
	(PARSE-FormalParameter): Likewise.
	(PARSE-FormalParameterTok): Likewise.
	(PARSE-String): Likewise.
	(PARSE-Name): Likewise.

2011-10-10  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/postpar.boot: Remove functions and references to Scripts.

2011-10-08  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/lexing.boot: New tokenizer functions.
	* interp/parsing.lisp: Use them.
	* interp/metalex.lisp: Likewise.
	(GET-SPECIAL-TOKEN): Remove.
	* interp/bootlex.lisp: Likewise.  Remove old tokenizers,

2011-10-07  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/lexing.boot: Include sys-macros.
	Add more tokenizer functions.
	* interp/fnewmeta.lisp: Use them.
	* interp/parsing.lisp: Likewise.
	* interp/bootlex.lisp: Likewise.
	* interp/spad.lisp: Likewise.
	(NEXT-BOOT-LINE): Remove.
	* interp/metalex.lisp: Remove old lexing routines.
	* interp/Makefile.in (lexing.$(FASLEXT)): Adjust dependency.
	* boot/tokens.boot: newString is no longer builtin library function.
	(shoeDictCons): Use makeString not newString.
	* lisp/core.lisp.in (listToString): Fix typo.

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

	* lisp/core.lisp.in (eof?): New.
	(listToString): Likewise.
	(formatToString): Likewise.
	* boot/tokens.boot: Add fifth as builtin library function.

2011-10-04  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/lexing.boot: Add support for Token abstract datatype.
	* interp/bootlex.lisp: Use it.
	* interp/fnewmeta.lisp: Likewise.
	* interp/metalex.lisp: Likewise.  Remove old token structure and
	associated functions.

2011-10-04  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/lexing.boot (stackClear!): Fix typo.
	Add new grammar reduction abstract datatype facility.
	* interp/fnewmeta.lisp: Use it.
	* interp/parsing.lisp: Likewise.
	* interp/bootlex.lisp (SPAD): Use popStack1.
	* interp/spad-parser.boot (parseSpadFile): Likewise.
	* interp/metalex.lisp: Remove REDUCTION and associated functions.

2011-10-04  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/lexing.boot: New.
	* interp/metalex.lisp: Include it.  Use new stack datatype support.
	* interp/parsing.lisp: Use new stack datatype support.
	* interp/Makefile.in: Adjust.

2011-10-03  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/utility.boot (symbolAssoc): Rename from assocSymbol. Export.
	* interp/functor.boot: Remove getAbbreviation, mkAbbrev, addsuffix.
	* interp/sys-utility.boot (symbolAssoc): Remove as redundant.
	(scalarTarget): New.
	* interp/bc-matrix.boot: Use symbolTarget instead of symbolLassoc.
	* interp/br-con.boot: Use QLASSQ instead of symbolTarget.
	* interp/br-data.boot: Likewise.
	* interp/br-op1.boot: Likewise.
	* interp/br-prof.boot: Likewise.
	* interp/br-saturn.boot: Likewise.
	* interp/br-search.boot: Likewise.
	* interp/buildom.boot: Likewise.
	* interp/c-doc.boot: Likewise.
	* interp/c-util.boot: Likewise.
	* interp/cattable.boot: Likewise.
	* interp/clam.boot: Likewise.
	* interp/define.boot: Likewise.
	* interp/format.boot: Likewise.
	* interp/g-timer.boot: Likewise.
	* interp/g-util.boot: Likewise.
	* interp/ht-util.boot: Likewise.
	* interp/htsetvar.boot: Likewise.
	* interp/i-intern.boot: Likewise.
	* interp/i-map.boot: Likewise.
	* interp/i-object.boot: Likewise.
	* interp/i-syscmd.boot: Likewise.
	* interp/lisplib.boot: Likewise.
	* interp/profile.boot: Likewise.
	* interp/trace.boot: Likewise.
	* interp/vmlisp.lisp (assoc): Tidy.

2011-10-03  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/comp.lisp: Remove.
	* interp/setvart.boot: Remove setting of 'compiler' options.
	* interp/setvars.boot (setAsharpArgs): Remove.
	(describeAsharpArgs): Likewise.
	(setInputLibrary): Likewise.
	(setOutputLibrary): Likewise.
	(describeInputLibraryArgs): Likewise.
	(describeOutputLibraryArgs): Likewise.

2011-10-02  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* lisp/core.lisp.in: Do not use CCL in AxiomCore.
	* boot/translator.boot (packageBody): Tidy.
	* boot/scanner.boot (shoeOrdToNum): Remove.
	* boot/includer.boot (shoeBiteOff): Remove.
	(shoeFileName): Likewise.
	(shoeFnFileName): Likewise.

2011-10-01  Gabriel Dos Reis  <gdr@cse.tamu.edu>

	* boot/utility.boot (objectAssoc): New.  Export.
	* boot/ast.boot: Use it. instead of ASSOC.
	* boot/translator.boot (packageBody): Tidy.
	* interp/astr.boot: Use objectAssoc instead of ASSQ.
	* interp/br-con.boot: Likewise.
	* interp/br-op1.boot: Likewise.
	* interp/br-saturn.boot: Likewise.
	* interp/buildom.boot: Likewise.
	* interp/c-util.boot: Likewise.
	* interp/category.boot: Likewise.
	* interp/clam.boot: Likewise.
	* interp/compiler.boot: Likewise.
	* interp/define.boot: Likewise.
	* interp/functor.boot: Likewise.
	* interp/g-util.boot: Likewise.
	* interp/i-coerce.boot: Likewise.
	* interp/i-coerfn.boot: Likewise.
	* interp/i-funsel.boot: Likewise.
	* interp/i-object.boot: Likewise.
	* interp/i-output.boot: Likewise.
	* interp/i-resolv.boot: Likewise.
	* interp/i-special.boot: Likewise.
	* interp/i-syscmd.boot: Likewise.
	* interp/i-util.boot: Likewise.
	* interp/int-top.boot: Likewise.
	* interp/lisplib.boot: Likewise.
	* interp/msg.boot: Likewise.
	* interp/posit.boot: Likewise.
	* interp/termrw.boot: Likewise.
	* interp/trace.boot: Likewise.
	* interp/sys-utility.boot (upwardCut): New.
	* interp/spad.lisp: Use it.
	* interp/util.lisp: Likewise.
	* interp/spaderror.lisp: Likewise.
	* interp/vmlisp.lisp (ASSEMBLE): Remove.
	(ASSQ): Likewise.
	(MEMQ): Likewise.
	(NAMEDERRSET): Likewise.
	(ORADDTEMPDEFS): Likewise.
	* interp/macros.lisp (QLASSQ): Move to vmlisp.lisp.
	(LASSQ): Remove.

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

	* boot/parser.boot (bpImport): Accept long names for used namespaces.
	* boot/translator.boot (packageBody): Tidy.
	(translateToplevel): Likewise.
	(getIntermediateLispFile): Likewise.
	* interp/sys-os.boot: Import System.Foreign.

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

	* boot/utility.boot: Define BOOTTRAN namespace.
	(setUnion): New.
	(setDifference): New.
	* boot/translator.boot (packageBody): New.
	(translateToplevel): Use it.  Translate namespace definition.
	* boot/tokens.boot: Replace bitmask with bitref.
	Do not translate setDifference and setUnion.
	* boot/parser.boot (bpDef): Now include namespace definition.
	(bpComma): Remove namespace rule as subsumed by Where rule.
	* boot/Makefile.in: Remove dependencies on initial-env.lisp.
	(AXIOM_LOCAL_LISP_sources): Remove as unused,
	(boot_sources): Remove as redundant with boot_SOURCES.
	* boot/initial-env.lisp: Remove.

2011-09-30  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/utility.boot (firstNonblankPosition): New.
	(firstBlankPosition): Likewis.
	* boot/translator.boot (reallyPrettyPrint): New.
	(genOptimizeOptions): Use it.
	(evalBootFile): Tidy.
	(shoePPtoFile): Remove as deadcode.
	(shoeAddbootIfNec): Rewrite.
	(shoeAddStringIfNec): Remove.
	* boot/scanner.boot (shoeNextLine): Use firstNonblankPosition.
	(shoeEsc): Likewise.
	(shoePossFloat): Likewise.
	* boot/initial-env.lisp ($IEEE): Remove.
	(*LISP-BIN-FILETYPE*): Likewise.
	(*LISP-SOURCE-FILETYPE*): Likewise.
	(SHOEPRETTYPRINT1): Likewise,
	(REALLYPRETTYPRINT): Likewise.
	(SHOENOPRETTYPRINT): Likewise.
	(STRPOS): Likewise.
	(STRPOSL): Likewise.
	(shoeReadLisp): Likewise.

2011-09-30  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/br-data.boot (lefts): Iterate directly over table.
	(mkUsersHashTable): Likewise.
	(mkDependentsHashTable): Likewise.
	(domainsOf): Likewise.
	* interp/br-op1.boot (dbShowOpAllDomains): Likewise.
	* interp/cattable.boot (showCategoryTable): Likewise.
	(displayCategoryTable): Likewise.
	(simpTempCategoryTable): Likewise.
	(simpCategoryTable): Likewise.
	(genTempCategoryTable): Likewise.
	(compressHashTable): Likewise.
	(updateCategoryTableForCategory): Likewise.
	(clearTempCategoryTable): Likewise.
	* interp/clam.boot (displayHashtable): Likewise.
	(reportHashCacheStats): Likewise.
	(reportInstantiations): Likewise.
	(globalHashtableStats): Likewise.
	* interp/guess.boot (buildWordTable): Likewise.
	* interp/i-syscmd.boot (writify): Likewise.
	* interp/scan.boot (scanDictCons): Likewise.
	(scanPunCons): Likewise.
	* interp/slam.boot (hashCount): Likewise.
	* interp/topics.boot (mkTopicHashTable): Likewise.
	(addTopic2Documentation): Likewise.
	(topics): Likewise.
	(listOfTopics): Likewise.
	* interp/word.boot (buildWordTable): Likewise.
	(writeFunctionTables): Likewise.
	(bootSearch): Likewise.

2011-09-30  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/ast.boot (bfTableIteratorBindingForm): New.
	(bfExpandTableIters): Use it.
	* boot/initial-env.lisp (HKEYS): Remove.
	* boot/tokens.boot (shoeDictCons): Iterate directly over shoeKeyTable.
	(shoePunCons): Likewise.
	* boot/translator.boot (shoeReport): Iterate directly over $bootUsed.
	(shoeXReport): Likewise.

2011-09-29  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/ast.boot (bfFor): Tidy. Handle hashtable iterator forms.
	(bfIterateTable): New.
	(separateIterators): Likewise.
	(bfExpandTableIters): Likewise.
	(bfLp1): Use them.

2011-09-20  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* algebra/annacat.spad.pamphlet: Remove.
	* algebra/routines.spad.pamphlet: Likewise.
	* algebra/functions.spad.pamphlet: Likewise.
	* algebra/tools.spad.pamphlet: Likewise.
	* algebra/cont.spad.pamphlet: Likewise.
	* algebra/fortran.spad.pamphlet: Likewise.
	* algebra/fortmac.spad.pamphlet: Likewise.
	* algebra/fortpak.spad.pamphlet: Likewise.

2011-09-19  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* algebra/asp.spad.pamphlet: Remove.
	* algebra/c02.spad.pamphlet: Likewise.
	* algebra/c05.spad.pamphlet: Likewise.
	* algebra/c06.spad.pamphlet: Likewise.
	* algebra/d01.spad.pamphlet: Likewise.
	* algebra/d02.spad.pamphlet: Likewise.
	* algebra/d03.spad.pamphlet: Likewise.
	* algebra/e01.spad.pamphlet: Likewise.
	* algebra/e02.spad.pamphlet: Likewise.
	* algebra/e04.spad.pamphlet: Likewise.
	* algebra/f01.spad.pamphlet: Likewise.
	* algebra/f02.spad.pamphlet: Likewise.
	* algebra/f04.spad.pamphlet: Likewise.
	* algebra/f07.spad.pamphlet: Likewise.
	* algebra/s.spad.pamphlet: Likewise.
	* algebra/d01Package.spad.pamphlet: Likewise.
	* algebra/d02Package.spad.pamphlet: Likewise.
	* algebra/d03Package.spad.pamphlet: Likewise.
	* algebra/e04Package.spad.pamphlet: Likewise.
	* algebra/d01agents.spad.pamphlet: Likewise.
	* algebra/d01routine.spad.pamphlet: Likewise.
	* algebra/d01transform.spad.pamphlet: Likewise.
	* algebra/d01weights.spad.pamphlet: Likewise.
	* algebra/d02agents.spad.pamphlet: Likewise.
	* algebra/d02routine.spad.pamphlet: Likewise.
	* algebra/d03agents.spad.pamphlet: Likewise.
	* algebra/d03routine.spad.pamphlet: Likewise.
	* algebra/e04agents.spad.pamphlet: Likewise.
	* algebra/e04routine.spad.pamphlet: Likewise.

2011-09-15  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* algebra/axtimer.as.pamphlet: Remove.
	* algebra/ffrac.as.pamphlet: Likewise.
	* algebra/herm.as.pamphlet: Likewise.
	* algebra/interval.as.pamphlet: Likewise.
	* algebra/invnode.as.pamphlet: Likewise.
	* algebra/invrender.as.pamphlet: Likewise.
	* algebra/invtypes.as.pamphlet: Likewise.
	* algebra/invutils.as.pamphlet: Likewise.
	* algebra/iviews.as.pamphlet: Likewise.
	* algebra/ndftip.as.pamphlet: Likewise.
	* algebra/nepip.as.pamphlet: Likewise.
	* algebra/noptip.as.pamphlet: Likewise.
	* algebra/nqip.as.pamphlet: Likewise.
	* algebra/nrc.as.pamphlet: Likewise.
	* algebra/nsfip.as.pamphlet: Likewise.

2011-09-15  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* algebra/alql.spad.pamphlet (IndexCard): Now satisfies
	CoercibleFrom String.  Remove explicit coerce export.
	* algebra/carten.spad.pamphlet (CartesianTensor): Remove explicit
	coerce export.  Add satisfaction of CoercibleFrom appropriate
	domains.
	* algebra/color.spad.pamphlet (Palette): Relace explicit coerce
	export with CoercibleTo %.
	* algebra/constant.spad.pamphlet (InnerAlgebraicNumber): Likewise.
	* algebra/dpolcat.spad.pamphlet (DifferentialVariableCategory):
	Likewise. 

2011-09-13  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* utils/Makefile.in (libOpenAxiom_HEADERS): Include vm.H.
	(libOpenAxiom_SOURCES): Include vm.cc
	* utils/vm.cc: New.
	* utils/vm.H: Likwise.

2011-09-12  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/g-opt.boot (optList): Tidy.

2011-09-11  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/compiler.boot (finishLambdaExpression): Tidy.
	(extractCodeAndConstructTriple): Likewise.
	* interp/g-opt.boot (optCall): Likewise.
	($VMsideEffectFreeOperators): Include %function
	* interp/lisp-backend.boot: Translate %function.

2011-09-11  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/lisplib.boot (isFunctor): Noe recognize Mapping as a functor.
	* interp/g-opt.boot (doInlineCall): Tidy one more time.
	($VMsideEffectFreeOperators): Move %aplly to $simpleVMoperators.
	(optLET): Remove as unused.
	* interp/lisp-backend.boot (expandApply): New.  Register as
	expander for %apply forms.
	* interp/define.boot (getXmode): New.
	(displayMissingFunctions): Use it instead of getmode.
	(compDefineCapsuleFunction): Likewise.
	(addDomain): Likewise.
	(getSignature): Likewise.
	(compile): Likewise.
	(compJoin): Likewise.
	* interp/compiler.boot (comp3): Likewise.
	(compWithMappingMode): Likewise.
	(applyMapping): Generate %apply form.
	(compApplication): Likewise.
	(autoCoerceByModemap): Likewise.
	(extractCodeAndConstructTriple): Handle %apply forms.
	(setqSingle): For domain variables, put corresponding macro forms
	in the environment.
	* algebra/ore.spad.pamphlet (Automorphism): Define Rep as a constant.
	Adjust; include explicit uses of rep and per.

2011-09-10  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	Remove IndexedList.
	* algebra/list.spad.pamphlet (IndexedList): Fold definition into
	List. Remove.
	* algebra/exposed.lsp.pamphlet: Don't expose ILIST.
	* algebra/Makefile.in: Adjust.

2011-09-10  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/g-opt.boot (doInlineCall): Tidy.
	(canInlineVarDefinition): Likewise.

2011-09-10  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/macros.lisp (COERCE-FAILURE-MSG): Remove.
	(check-subtype): Likewise.
	(check-union): Likewise.
	(MAKE-REASONABLE): Move to diagnostic.boot.  Rename.
	(assert): Move to sys-macros.lisp.
	* interp/g-opt.boot ($VMsideEffectFreeOperators): Include %retract
	and %pullback.
	(optRetract): Tidy.
	(optPullback): New.
	* interp/diagnostics.boot (makeReasonable): New.
	(moanRetract): Likewise.  Use it.
	* interp/buildom.boot (mkNewUnionFunList): Simplify.
	(mkUnionFunList): Likewise.

2011-09-10  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/g-opt.boot (doInlineCall): New.
	(optCall): Use it to implement inline functions.
	($VMsideEffectFreeOperators): Include %apply and STRINGIMAGE.
	($simpleVMoperators): STRINGIMAGE is promoted.
	(canInlineVarDefinition): Tidy.
	(optBind): Likewise.

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

	* interp/g-opt.boot (optXLAMCond): Remove as useless.
	(optCONDtail): Likewise.

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

	* interp/g-opt.boot (optIadd): Remork.
	(optIsub): Likewise.
	(optIdec): New.
	* algebra/string.spad.pamphlet (IndexedString): Fold definition
	into String.  Remove.
	(Character): Tidy.
	(CharacterClass): Likewise.
	* algebra/exposed.lsp.pamphlet: Do not expose ISTRING.

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

	* algebra/syntax.spad.pamphlet (Identifier): Remove
	CoercibleTo Symbol and CoercibleTo String properties.
	* algebra/symbol.spad.pamphlet (Symbol): Make RetractableTo Identifier.

2011-09-08  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* algebra/op.spad.pamphlet (BasicOperator): Use string$String
	instead of coercion from Identifier to String.

2011-09-08  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* algebra/string.spad.pamphlet (String) [string]: New overload to
	convert from Identifier.

2011-09-08  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/c-util.boot (builtinCategoryName?): Move to g-util.boot.
	(builtinFunctorName?): Likewise.
	(builtinConstructor?): Likewise.
	(superType): Exit early if builtin functor or non-domain form.
	* algebra/Makefile.in: Flesh out bootstrap dependencies.

2011-09-07  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/sys-globals.boot ($clamList): Do not include hasFileProperty.
	* interp/database.boot (loadDBIfnecessary): Tidy.
	* interp/clammed.boot (hasFileProperty): Remove as unused.
	* interp/lisplib.boot (putFileProperty): Likewise.
	(getLisplib): Likewise.
	(getLisplibNoCache): Likewise.
	(getFileProperty): Likewise.
	(hasfilePropertyNoCache): Likewise.
	(unInstantiate): Likewise.
	(killNestedInstantiations): Likewise.
	(isNestedInstantiations): Likewise.
	(loadFunctor): Likewise.
	(getLisplibVersion): Likewise.
	(Operators): Likewise.
	(compDefineLisplib): Don't LOCALDATABASE if building system algebra.

2011-09-07  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/lisplib.boot (finalizeLisplib): Finalize documentaion
	only if not bootstrapping.
	(isFunctor): Tidy.
	* interp/g-util.boot (superType): Tidy.
	* interp/database.boot (getDualSignature): Rename from
	getDualSignatureFromDB.  Adjust callers.
	* interp/c-util.boot (isKnownCategory): Remove.
	(diagnoseUnknownType): Use isCategoryForm.
	* interp/bootlex.lisp (GET-INTEGER-IN-RADIX): Use SPAD_SYNTAX_ERROR.
	* interp/metalex.lisp (GET-STRING-TOKEN): Likewise.
	* interp/parsing.lisp (MUST): Likewise.
	* algebra/boolean.spad.pamphlet (Refrence) [coerce]: Bypass
	conversion to Identifier.
	* algebra/domain.spad.pamphlet (ContructorKind): Tidy.

2011-09-07  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/nruncomp.boot (NRTaddInner): Use the dual signature.
	* interp/lisplib.boot (writeDualSignature): New.
	(finalizeLisplib): Likewise.
	* interp/define.boot (compDefineCategory2): Compute dual signature.
	(compDefineFunctor1): Likewise.
	* interp/daase.lisp (LOCALNRLIB): Juts read dual signature info;
	don't compute it.

2011-09-07  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/define.boot (compDefineFunctor1): Augment the envionment
	with current instantiation.
	* interp/c-util.boot (isSubset): Accept values of current
	instantiation as values of the current domain.

2011-09-07  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/compiler.boot (compImport): Don't do anything if
	bootstrapping: there is no much to import for now.
	* interp/define.boot (getOperationAlist): Get the isFunctor
	property directly.
	(addDomain): Call isDomainForm.

2011-09-06  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/lisplib.boot (isFunctor): Tidy.

2011-09-06  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/define.boot (compDefineFunctor1): Set
	dbConstructorModemap before compiling functor body.

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

	* interp/define.boot: Use DB for current constructor.
	(mkCategoryPackage): Category defaults are packages, not domains.
	* interp/functor.boot (encodeFunctionName): Use current
	constructor DB.  First argument is now a DB.  Adjust caller.
	* algebra/domain.spad.pamphlet (DomainConstructo) [functorData]:
	Use getInfovec.

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

	Stop using LOADED symbol property of constructors.
	* interp/daase.lisp (DATABASE) [LOAD-PATH]: New field.
	(dbLoadPath): New accessor.
	(INITIAL-GETDATABASE): Tidy.
	* interp/database.boot: Use dbLoadPath and dbLoaded?.
	* interp/lisplib.boot: Likewise.
	* interp/nrunfast.boot: Likewise.
	* interp/showimp.boot: Likewise.
	* interp/br-util.boot (isLoaded?): Remove as unused.

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

	* interp/define.boot: Remove $LISPLIB.
	* interp/functor.boot: Likewise.
	* interp/lisplib.boot: Likewise.
	* interp/patches.lisp: Likewise.
	* interp/sys-globals.boot: Likewise.

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

	* interp/define.boot (compDefineFunctor1): Do not set
	$lisplibFunctions.
	* interp/lisplib.boot: Remove $lisplibOpAlist.
	* interp/nruncomp.boot: Likewise.

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

	* interp/nruncomp.boot (updateSlot1DataBase)e: Remove.
	(newLookupInCategories1): Remove.
	(newLookupInCategories): Do not call it.
	* interp/define.boot ($isOpPackageName): Remove.
	(compDefinFunctor1): Do not emit slot1 database info for category
	defaulta.
	($lisplibSlot1): Remove.
	* interp/lisplib.boot: Likewise.
	(finalizeLisplib): Do not write slot1 info.

2011-09-04  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/lisplib.boot (writeCategory): New,
	(finalizeLisplib): Use it.  Write category bodies in generated
	Lisp code file.
	* interp/daase.lisp (GETDATABASE) [CONSTRUCTORCATEGORY]: Don't
	bother with package and domain constructors.
	* interp/database.boot (getConstructorCategory): Rename from
	getConstructorCategoryFromDB.  Reimplement,  Adjusr callers.

2011-09-04  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/daase.lisp (GETDATABASE): Do not handle PREDICATES and
	ATTRIBUTES selectors anymore.
	* interp/database.boot (getConstructorPredicates): Rename from
	getConstructorPredicatesFromDB.  Adjust callers.
	(getConstructorAttributes): Rename from getConstructorAttributesFromDB.
	Adjust callers.

2011-09-04  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/lisplib.boot (writeAbbreviation): New.
	(writePredicates): Likewise.
	(finalizeLisplib): Use them.
	* interp/daase.lisp (squeezeCopy): New,  
	Use it in place of SQUEEZE.

2011-09-04  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/lisplib.boot: Likewise.
	* interp/define.boot: Remove $lisplibAncestors.

2011-09-04  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/br-data.boot: Don't use $lisplibParents.
	* interp/define.boot: Likewise.
	* interp/lisplib.boot: Likewise.

2011-09-03  Igor Pashev  <pashev.igor@gmail.com>
	    Gabriel Dos Reis <gdr@cs.tamu.edu>

	* lib/pixmap.c: Include standard header.
	* include/xpm.h: Remove.

2011-09-03  Gabriel Dos Reis  <gdr@cse.tamu.edu>

	* interp/property.lisp: Remove unused codes.
	* interp/g-util.boot (superType): If domain is $ then use current
	information. 
	* interp/daase.lisp: Tidy.
	* interp/c-util.boot (extendsCategoryForm): Temporarily disable
	uses of information not coming from on-the-fly category compilation.
	* interp/br-data.boot (getParentsFor): Change first parameter to a DB.
	Adjust callers.
	* algebra/Makefile.in: Adjust dependencies.

2011-08-30  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* algebra/Makefile.in: Simplify bootstrap rules.  Build
	initdb.daase before bootstrap.

2011-08-29  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/lisplib.boot (laodIfNecessaryAndExists): Remove as unused.
	(loadLibIfnecessary): Fold definition into loadIfNecessary.
	(loadDB): New.
	(writeAttributes): Likewise.
	(finalizeLisplib): Use it.
	* interp/daase.lisp (MAKE-DATABASES): Fix SQUEEZE snafu.
	* interp/c-util.boot (extendsCategoryForm): Prefer existing
	translation of category definition to re-evaluation on the fly.

2011-08-29  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/lisplib.boot	(loadLib): Remove deadcode.
	(isDomainForm): Tidy.
	(isFunctor): Likewise.
	(compDefineExports): Remove as no longer used.
	* interp/sys-utility.boot (loadExports): Likewise.
	* interp/g-util.boot (get0, get1, get2): Tidy.

2011-08-29  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/lisplib.boot (writePrincipals): New.
	(finalizeLisplib): Use it.

2011-08-28  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/define.boot (compDefineCategory2): Mark begining and end
	of definition processing.
	(compDefineFunctor1): Likewise.
	* interp/daase.lisp (dbPrincipals): New accessor.
	* interp/br-data.boot (getDefaultPackageClients): Fix thinko.
	* interp/lisplib.boot (writeAncestors): New.
	(finalizeLisplib): Use it

2011-08-27  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/lisplib.boot (writeInstanceCache): Remove.
	(finalizeLisplib): Don't call it.

2011-08-27  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/daase.lisp (DATABASE): Add new field BEING-DEFINED.
	(dbBeingMacro?): New accessor.
	(GETDATABASE): Tidy.

2011-08-25  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	Remove $lisplibAttributes.
	* interp/define.boot (compDefineFunctor1): Tidy.
	(compCapsuleInner): Add a DB first parameter.  Adjust callers.
	* interp/lisplib.boot (NRTgenInitialAttributeAlist): Likewise.
	(simplifyAttributeAlist): Likewise.
	* interp/nruncomp.boot (changeDirectoryInSlot1): Likewise.
	(buildFunctor): Change first parameter to DB.  Adjust caller.

2011-08-25  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/lisplib.boot (autoLoad): Lose first parameter.
	Adjust callers.
	(unloadOneConstructor): Likewise.
	* interp/category.boot (isCategoryForm): Rewrite.
	* interp/patches.lisp (mkAutoLoad): Move to lisplib.boot.

2011-08-25  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/compiler.boot (compHasFormat): Take environment
	argument.  Adjust callers.
	* interp/define.boot (NRTmakeCategoryAlist): Likewise.
	* interp/functor.boot (ProcessCond): Likewise.
	* interp/lisplib.boot (NRTgenFinalAttributeAlist): Likewise.
	(predicateBitIndex): Likewise.
	(predicateBitRef): Likewise.
	(makePredicateBitVector): Likewise.
	(transHasCode): Likewise.

2011-08-25  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/hashcode.boot: Remove.
	*interp/interop.boot: Move OpenAxiom relevant code to define.boot
	and nrunfast.boot.  Remove.

2011-08-25  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/define.boot ($mutableDomain): Remove.  Adjust users.
	($mutableDomains): Likewise.
	* interp/database.boot (dbMutable?): Remove.
	* interp/clam.boot (addToclam): Remove as unused.
	* algebra/modmon.spad.pamphlet: Do not make MoMonic mutable.
	* algebra/defaults.spad.pamphlet: Do not make RepeatedSquaring and
	RepeatedDoubling, FiniteLinearAggregateSort mutable.

2011-08-24  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/daase.lisp (dbArity, dbInstanceCache): New accessors.
	* interp/database.boot (loadDBIfnecessary): New.
	(dbMutable?): Likewise.
	* interp/lisplib.boot (finalizeLisplib): Record mutable property.

2011-08-23  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* algebra/Makefile.in: Support construction initial DB profile.
	* interp/database.boot (printInitdbInfo): New.
	(printAllInitdbInfo): Likewise.
	* interp/sys-driver.boot (initializeDatabases): Exit early if
	constructing initial DB profile.
	(buildInitdbHandler): New.  Handle --build-initdb.
	* utils/command.cc (driver_table): Add map for --build-initdb.

2011-08-23  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/sys-driver.boot (initializeDatabases): New.
	(initializeGlobalState): Use it.
	* interp/spad-parser.boot (parseSpadFile): Tidy.
	* interp/g-cndata.boot (installConstructor): Exit early it global
	table not initialized.
	* interp/database.boot (makeInitialDB): New.
	(populateDBFromFile): Likewise.
	* interp/daase.lisp: Introduce more DB accessors.
	* interp/br-util.boot (dbSourceFile): Remove.
	* interp/br-con.boot (kdPageInfo): Use
	getConstructorSourceFileFromDB instead of dbSourceFile.
	(kPage): Likewise.
	* algebra/Makefile.in (SPADFILES): Include domain.spad

2011-08-22  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/sys-driver.boot (initializeGlobalState): Construct
	database tables if algebra is not complete yet.
	* interp/Makefile.in (${SAVESYS}): Simplify.
	* algebra/Makefile.in (strap-stamp): Make the destination directory.

2011-08-22  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/metalex.lisp (LINE-HANDLER, NEXT-LINE, XCAPE): Remove.
	(XTOKENREADER, GET-TOKEN, NEXT-META-LINE): Likewise.
	(META_ERROR_HANDLER, META-SYNTAX-ERROR, META-META-ERROR-HANLER):
	Likewise.
	* interp/debug.lisp: Do not set /XCAPE property.
	* interp/bootlex.lisp (INIT-BOOT/SPAD-READER): Do not set
	XTOKENRADER, LINE-HANDLER, META_ERROR_HANDLER.

2011-08-22  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/daase.lisp: Remove NILADIC field from DATABASE structure.
	(dbNiladic?): Remove.  Adjust users.
	(WRITE-INTERP): Don't write NILADIC field.

2011-08-22  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/define.boot (substNames): Lose second parameter.  Adjust
	callsers.
	(evalAndSub): Likewise.
	(augModmapsFromCategory): Likewise.
	(genDomainView): Likewise.
	(augModemapsFromCategoryRep): Remove as deadcode.
	(genDomainOps): Lose first parameter.  Adjust callers.

2011-08-21  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/database.boot (getConstructorModemap): Rename from
	getConstructorModemapFromDB.  Adjust callers.

2011-08-21  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/database.boot (niladicConstructor?): Rename from
	niladicConstructorFromDB.  Use getConstructorFormFromDB.
	Adjust callers.

2011-08-21  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/define.boot ($lisplibAbbreviation): Remove.  Adjust users.
	($lisplibForm): Likewise.
	* interp/c-doc.boot (finalizeDocumentation): Take constructor's
	name as parameter.  Adjust callers.
	* interp/lisplib.boot (compileDocumentation): Likewise.
	(WriteKind): New.
	(writeConstructorForm): Likewise.
	(writeOperations): Likewise.
	(WriteConstructorModemap): Likewise.
	(finalizeLisplib): Use them.

2011-08-21  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/lisplib.boot (leaveIfErrors): Take kind as argument.
	(writeInfo): New.
	(writeSuperDomain): Likewise.
	(finalizeLisplib): Use it.  Take constructor as argument.
	* interp/define.boot ($lisplibSuperDomain): Remove.  Adjust users.
	($lisplibKind): Remove Adjust users.
	(emitSubdomainInfo): Set dbSuperDomain.
	(incompleteFunctorBody): Likewise.
	* interp/daase.lisp: Add new database accessors.
	(GETDATABASE): Fix handling of superDomain property.
	* interp/br-util.boot (dbConstructorKind): Remove.
	* interp/br-con.boot: Remove deadcode.
	(dbShowCons1): Adjust.
	* interp/br-saturn.boot (dbShowConsKinds): Likewise.

2011-08-21  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/sys-globals.boot ($compileExportOnly): Remove.
	* interp/sys-driver.boot (initializeGlobalState): Don't set it.
	* interp/define.boot (skipCategoryPackage?): Adjust.
	(compDefineFunctor): Likewise.
	(compDefineFunctor1): Likewise.
	(incompleteFunctorBody): New.
	(compFunctorBody): Use it.

2011-08-20  Gabriel Dos Reis  <gdr@cse.tamu.edu>

	* interp/sys-utility.boot (constructorDB): New.
	* interp/daase.lisp (dbNiladic?): New.  Use it to access niladic
	property. of a constructor.
	* interp/database.boot: Import daase.
	(niladicContructorFromDB): Use it.
	* interp/define.boot (compDefineCategory): Don't write
	compilerInfo garbage.
	(compDefineFunctor1): Likewise.
	(compDefineCategory2): Set niladic property.
	(compDefineFunctor): Likewise.
	* interp/lisplib.boot (loadLib): Do not set niladic property.  It
	is now a side-effect of loading.
	(loadLibNoUpdate): Do not check for version.
	(makeConstructorAutoload): Do not set niladic property.
	(initializeLisplib): Do not emit code to check version.
	(mkCtorDBForm): New.
	(writeNiladic?): Likewise.
	(finalizeLisplib): Do not set niladic property.
	* interp/patches.lisp: Remove deadcode.
	* interp/sys-constants.boot  (MAJOR-VERSION): Remove.

2011-08-20  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* algebra/polycat.spad.pamphlet (UnivariatePolynomialCategory)
	[divide]: Tidy.
	* algebra/Makefile.in (strap-0/%.$(FASLEXT)): Copy generated Lisp
	files if keeping intermediate files.

2011-08-19  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/category.boot (mkOr): Taken environment as parameter.
	Adjust callers.
	(mkOr2): Likewise.
	(mkAnd): Likewise.
	(mkAnd2): Likewise.
	(FindFundAncs): Likewise.
	(CatEval): Likewise.
	(AncestorP): Likewise.
	(CondAncestorP): Likewise.
	(DescendantP): Likewise.
	* interp/compiler.boot (compMapCond): Likewise.
	(compMapCond'): Likewise.
	* interp/define.boot (formatPred): Likewise.
	(formatInfo): Likewise.
	(addInfo): Likewise.
	(knownPred): Likewise.
	* interp/functor.boot (InvestigateConditions): Likewise.
	(ICformat): Likewise.

2011-08-18  Alfredo Portes  <doyenatccny@gmail.com>

	* sman/sman.c: Do not try to start graphic components
	if binaries are not present.
	* include/cfuns.h: Make writeablep and readablep 
	arguments const. 
	* lib/cfuns-c.c: Likewise.

2011-08-18  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/momdemap.boot: Fold content into compiler.boot and
	define.boot.  Remove.
	* Makefile.in: Adjust dependencies.

2011-08-18  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/c-util.boot: Use category accessors.
	* interp/category.boot: Likewise.
	* interp/modemap.boot: Likewise.

2011-08-18  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/c-util.boot (categoryAssociatedTypes): Rename from
	categoryHierarchy.  Adjust callers.
	(categoryPrincipals): New.
	(categoryAncestors): Likewise.
	(categoryLocals): Likewise.
	(categoryParameters): Likewise.
	(extendsCategoryForm): Use them.
	* interp/category.boot: Likewise.
	* interp/cattable.boot: Likewise.
	* interp/define.boot: Likewise.
	* interp/functor.boot: Likewise.
	* interp/modemap.boot: Likewise.
	* interp/nruncomp.boot: Likewise.
	* interp/database.boot (getCategoryAttributes): Remove.
	(getPrincipalAncestors): Likewise.
	(getCategoryParents): Likewise.
	* algebra/domain.spad.pamphlet (Category): Adjust.

2011-08-16  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/c-util.boot (categoryPrincipals): New.
	(categoryAncestors): Likewise.
	* interp/functor.boot (DescendCodeAdd): Tidy.
	(DescendCodeVarAdd): Fix thinko.  Iterator over $domainShell.
	Don't pretend constants have ELT implementations.
	* interp/nruncomp.boot (buildFunctor): Tidy.

2011-08-16  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/modemap.boot (addModemap0): Don't special-case
	CategoryDefaults. 
	* interp/define.boot (processFunctor): Fold into caller.  Remove.
	* interp/clam.boot (recordInstantiation1): Do not special case
	CategoryDefaults and RepeatedSquaring.
	* interp/functor.boot (DescendCode): Lose last argument, for it is
	always $.  Adjust body.  Adjust caller.
	* interp/nruncomp.boot (buildFunctor): $catNames should not be a
	fluid variable.  Rename to viewNames.

2011-08-15  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/functor.boot (setVector0, setVector12, setVector3,
	mkDomainFomer, setVector5, mkVectorWithDeferral): Remove as dead
	codes. 

2011-08-14  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/g-opt.boot (optCollectVector): Generate VM forms.
	(optIinc): New.  Register as new transformer.
	* interp/c-util.boot ($middleEndMacroList): Remove.
	(middleEndExpand): Don't check for Lisp-level macros anymore.

2011-08-14  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/compiler.boot (compSeq1): Tidy.
	(cpmpSeqItem): Likewise.
	(replaceExitEtc): Likewise.
	(massageLoop): Don't check for TAGGEDexit anymore.

2011-08-14  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/lisp-backend.boot ($freeVarName): New global constant.
	(loopVarInit): New.
	(expandIN): Use it.
	(expandON): Likewise.
	(expandSTEP): Likewise.
	(massageFreeVarInits): New.
	(expandLoop): Use it.
	* interp/fnewmeta.lisp (PARSE-QuantifiedVariable): Tidy.
	(PARSE-AnyId): Likewise.
	(PARSE-Variable):  New.  Allow scope-of-type specification for
	loop variable.
	(PARSE-Iterator): Use it.
	* interp/compiler.boot (massage_llop): Don't check
	$mayHaveFreeIteratorVariables.
	(compRepeatOrCollect): Don't bind it.
	(classifyIteratorVariable): New.
	(complainIfShadowing): Remove as no longer needed.
	(compStepIterator): Use it.  Tidy.
	(compONIterator, compINIterator): New. Split out of compIterator.
	(compIterator): Refactor.
	* interp/functor.boot (optFunctorBody): Fix thinko.
	* interp/g-opt.boot (optCollectVector): A STEP iterator may have a
	storage class.

	* algebra/clip.spad.pamphlet: Fix loop variable scope.
	* algebra/ffpoly.spad.pamphlet: Likewise.
	* algebra/fparfrac.spad.pamphlet: Likewise.
	* algebra/gdpoly.spad.pamphlet: Likewise.
	* algebra/ghensel.spad.pamphlet: Likewise.
	* algebra/groebsol.spad.pamphlet: Likewise.
	* algebra/intfact.spad.pamphlet: Likewise.
	* algebra/matfuns.spad.pamphlet: Likewise.
	* algebra/moddfact.spad.pamphlet: Likewise.
	* algebra/numtheor.spad.pamphlet: Likewise.
	* algebra/permgrps.spad.pamphlet: Likewise.
	* algebra/pfbr.spad.pamphlet: Likewise.
	* algebra/pgcd.spad.pamphlet: Likewise.
	* algebra/pleqn.spad.pamphlet: Likewise.
	* algebra/pseudolin.spad.pamphlet: Likewise.
	* algebra/radeigen.spad.pamphlet: Likewise.
	* algebra/radix.spad.pamphlet: Likewise.
	* algebra/regset.spad.pamphlet: Likewise.
	* algebra/rep2.spad.pamphlet: Likewise.
	* algebra/sgcf.spad.pamphlet: Likewise.
	* algebra/smith.spad.pamphlet: Likewise.
	* algebra/sregset.spad.pamphlet: Likewise.
	* algebra/syssolp.spad.pamphlet: Likewise.
	* algebra/zerodim.spad.pamphlet: Likewise.
	* algebra/crfp.spad.pamphlet: Remove capsule-level declaration of
	local variables.
	* algebra/galfact.spad.pamphlet: Likewise.
	* algebra/mathml.spad.pamphlet: Likewise.
	* algebra/numode.spad.pamphlet: Likewise.
	* algebra/tex.spad.pamphlet: Likewise.
	* algebra/updecomp.spad.pamphlet: Likewise.

2011-08-13  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/compiler.boot (compRepeatOrCollect): Set $loopKind directly.
	(complainIfShadowing): Don't complain when collecting.
	* algebra/contfrac.spad.pamphlet: Remove capsule-level declaration
	of local variables.
	* algebra/cycles.spad.pamphlet: Likewise.
	* algebra/cyclotom.spad.pamphlet: Likewise.
	* algebra/ddfact.spad.pamphlet: Likewise.
	* algebra/fortpak.spad.pamphlet: Likewise.
	* algebra/lingrob.spad.pamphlet: Likewise.
	* algebra/numode.spad.pamphlet: Likewise.
	* algebra/numquad.spad.pamphlet: Likewise.
	* algebra/out.spad.pamphlet: Likewise.
	* algebra/perman.spad.pamphlet: Likewise.
	* algebra/view2D.spad.pamphlet: Likewise.

2011-08-13  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* algebra/integer.spad.pamphlet (Integer): Remove attribute infinite.

2011-08-13  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/c-util.boot (instantiationArgs): New.
	(domainDirectory): Likewise.
	(domainLookupFunction): Likewise.
	(domainOperatorTable): Likewise.
	(domainAttributes): Likewise.
	(domainPredicates): Likewise.
	(domainData): Likewise.
	* interp/buildom.boot: Use new domain accessors.
	* interp/functor.boot: Likewise.
	* interp/interop.boot: Likewise.
	* interp/nruncomp.boot: Likewise.
	* interp/nrunfast.boot: Likewise.

2011-08-12  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/ast.boot (shoeCompTran1): Translate extended vector-forms.
	* interp/c-util.boot: Use vector instead of LIST2VEC.
	* interp/define.boot: Likewise.
	* interp/i-coerce.boot: Likewise.
	* interp/i-coerfn.boot: Likewise.
	* interp/i-funsel.boot: Likewise.
	* interp/i-map.boot: Likewise.
	* interp/i-special.boot: Likewise.
	* interp/interop.boot: Likewise.
	* interp/nruncomp.boot: Likewise.
	* interp/slam.boot: Likewise.

2011-08-12  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/nrunfast.boot (newLookupInTable): Compare domain and
	dollar as objects, not as value.
	(newLookupInCategories): Remove deadcode.
	(newExpandGoGetTypes): Remove as unused.

2011-08-11  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/define.boot (NRTgetLookupFunction): Handle the case where
	the base domain is a parameter.
	* interp/g-util.boot (formalVarNumber): New.
	* lisp/core.lisp.in (readIntegerIfCan): Likewise.

2011-08-11  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/define.boot (extendsCategoryBasic): Handle attribute
	third argument too.

2011-08-10  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/lisp-backend.boot (expandBytevec2str): Use MAP instead of
	COERCE.  Eliminate second argument.
	(expandStr2bytevec): Use MAP instead of COERCE.
	* algebra/data.spad.pamphlet (ByteBuffer) [coerce]: Adjust call to
	%bytevec2str. 

2011-08-10  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* algebra/float.spad.pamphlet (Float): Tidy.
	* algebra/fortmac.spad.pamphlet (MachineInteger): Likewise.
	* algebra/fspace.spad.pamphlet (FunctionSpace): Likewise.
	* algebra/integer.spad.pamphlet (Integer): Likewise.
	* algebra/mkfunc.spad.pamphlet (InputForm): Likewise.
	* algebra/newpoly.spad.pamphlet (RecursivePolynomialCategory):
	Likewise. 
	* input/knot.input.pamphlet: Likewise.
	* input/knot2.input.pamphlet: Likewise.
	* input/mult3d.input.pamphlet: Likewise.
	* input/multKnot.input.pamphlet: Likewise.
	* input/r21bugsbig.input.pamphlet: Likewise.
	* input/tutchap2.input.pamphlet: Likewise.

2011-08-10  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* algebra/Makefile.in (oa_strap_0_sources): Don't include OM.
	(axiom_algebra_layer_0): Don't include OM, OMCONN, OMDEV.
	(axiom_algebra_layer_4): Don't include OMENC.
	(axiom_algebra_layer_14): Don't include OMPKG.
	(axiom_algebra_layer_19): Don't include OMERR, OMERRK.
	(axiom_algebra_layer_20): Don't include OMEXPR.
	* algebra/omcat.spad.pamphlet: Remove.
	* algebra/omdev.spad.pamphlet: Remove.
	* algebra/omerror.spad.pamphlet: Remove.
	* algebra/omserver.spad.pamphlet: Remove.
	* algebra/openmath.spad.pamphlet: Remove.

2011-08-09  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/setvart.boot: Remoe OpenMath description.
	* interp/setvars.boot (setOutputOpenMath): Remove.
	(describeOutputOpenMath): Likewise.
	* algebra/Makefile.in (axiom_algebra_layer_14): Don't include OMSERVER.
	* algebra/float.spad.pamphlet (Float): Remove OpenMath exports.
	* algebra/fraction.spad.pamphlet (Fraction): Likewise.
	* algebra/gaussian.spad.pamphlet (Complex): Likewise.
	* algebra/integer.spad.pamphlet (Integer): Likewise.
	* algebra/list.spad.pamphlet (List): Likewise.
	* algebra/sf.spad.pamphlet (DoubleFloat): Likewise.
	* algebra/si.spad.pamphlet (SingleInteger): Likewise.
	* algebra/string.spad.pamphlet (String): Likewise.
	* algebra/symbol.spad.pamphlet (Symbol): Likewise.

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

	* interp/define.boot (NRTgetLookupFunction): Take an environment
	argument. Adjust caller.
	(NRTextendsCategory1): Likewise.
	(extendsCategory): Likewise.
	(extendsCategoryBasic): Likewise.
	(catExtendsCat?): Likewise.

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

	* interp/c-util.boot (categoryHierarchy): New.
	* interp/category.boot (mkCategory): Use it.
	* interp/define.boot (NRTgetLookupFunction): Tidy.
	(catExtendsCat?): Lose last argument.  Adjust callers.

2011-08-07  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/define.boot (templateVal): Fold into expantTypeArgs. Remove. 

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

	* interp/define.boot (extendsCategoryBasic0): Fold into
	extendsCategoryBasic.  Remove.

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

	* boot/tokens.boot: Remove unused and antiquated tokens.
	* interp/i-output.boot: Escape caret.

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

	* algebra/boolean.spad.pamphlet (Boolean) [test]: Remove.

2011-08-04  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/ast.boot (bfFlattenSeq): Rewrite.
	(bfMKPROGN): Tidy.

2011-08-03  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/ast.boot (bfSTEP): Synthetize artificial variable for
	unnamed loop index.

2011-07-14  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/ast.boot (bfIS1): Tidy test for cons cells.

2011-07-13  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/functor.boot (CategoryPrint): Move from category.boot.
	(DomainPrint1): Tidy.
	(PacPrint): Likewise.
	(DomainPrintSubst): Likewise.

2011-07-13  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/tokens.boot: copyString, copyTree, and copyVector are now
	builtin library functions.
	* interp/br-util.boot: Use copyVector instead of COPY-SEQ.
	* interp/category.boot: Likewise.
	* interp/define.boot: Likewise.
	* interp/functor.boot: Likewise.
	* interp/i-coerfn.boot: Likewise.
	* interp/i-syscmd.boot: Likewise.
	* interp/newfort.boot: Likewise.

2011-07-13  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/category.boot: Remove dead codes.
	* interp/define.boot (hasFullSignature): Tidy.

2011-07-10  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/c-util.boot (categoryExports): New.
	* interp/category.boot (mkCategory): Use it.
	(DropImplementations): Tidy.

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

	* gui/debate.cc (start_interpreter): Do not forget core command
	line options.  Separate them from options to the base Lisp runtime
	system. 

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

	* interp/br-util.boot ($charUnderscore): Move to br-search.boot
	where it is used.
	* interp/br-search.boot (pmPreparse): Tidy.
	(mkGrepPattern1): Likewise.
	(genSearch): Don't try to remove default operations; they have
	already been left out by grepSplit.
	(docSearch): Likewise.
	* interp/br-con.boot (dbShowConsDoc1): Don't confusingly enclose a
	straightline documentation in a list.
	* interp/br-op1.boot (dbShowOpDocumentation): Remove redundant test.
	* interp/br-op2.boot (kFormatSlotDomain): Call isConstructorName
	only on identifiers.
	* interp/br-saturn.boot (displayDomainOp): Tidy.
	(bcConform1): Likewise.

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

	* gui/gui.pro.in [Mac OS X]: Don't build application bundle.

2011-07-04  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* graph/view2D/process2d.c: Include "cfuns.h? before other local
	headers. 
	* graph/view2D/control2d.c: Likewise.
	* graph/view2D/main2d.c: Likewise.
	* graph/view3D/process3d.c: Likewise.
	* graph/view3D/main3d.c: Likewise.
	* graph/view3D/surface3d.c: Likewise.

2011-07-04  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/setvars.boot: Remove support for script formula.
	* interp/setvart.boot: Likewise.
	* interp/diagnostics.boot (sayBrightlyNT1): Move from macros.lisp.
	(sayBrightly1): Likewise.
	(sayBrightlyNT): Likewise.
	(sayBrightly): Likewise.
	(sayBrightlyI): Likewise.
	(sayMSG): Likewise.
	(sayTeX): Likewise.
	(sayMSG2File): Likewise.
	* interp/i-output.boot (formulaFormat): Remove.
	(output): Adjust.
	* interp/macros.lisp (sayMSGNT): Remove.
	(sayFORTRAN): Likewise.
	(sayFORMULA): Likewise.
	($formulaOutputstream): Likewise.
	* interp/sys-globals.boot ($formulaOutputstream): Remove.
	* interp/spad.lisp ($formulaFormat): Remove.
	* algebra/exposed.lsp.pamphlet: Do not expose ScriptFormulaFormat
	and ScriptFormulaFormat1.
	* algebra/exposed.lsp.pamphlet: Remove.

2011-07-04  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/int-top.boot (SpadInterpretStream): Remove binding of
	$erMsgToss, as it is never assigned to.
	(phIntReportMsgs): Adjust.
	(phReportMsgs): Likewise.
	* interp/msg.boot (showMsgPos?): Likewise.
	(initImPr): Likewise.

2011-07-03  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/vmlisp.lisp (PRINTEXP): Remove.
	* interp/br-data.boot: Use writeString, writeChar, and writeLine.
	* interp/c-util.boot: Likewise.
	* interp/diagnostics.boot: Likewise.
	* interp/fortcall.boot: Likewise.
	* interp/i-output.boot: Likewise.
	* interp/i-syscmd.boot: Likewise.
	* interp/i-util.boot: Likewise.
	* interp/lisplib.boot: Likewise.
	* interp/msgdb.boot: Likewise.
	* interp/newfort.boot: Likewise.
	* interp/record.boot: Likewise.
	* interp/g-opt.boot ($VMsideEffectFreeOperators): Include
	%writeString, %writeNewline, %writeLine.
	* interp/lisp-backend.boot: Translate them.

2011-07-03  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/tokens.boot: flushOutput, writeNewline, writeString
	are new builtin library functions.
	* boot/utility.boot (finishLine): New exported function.
	* interp/i-output.boot (formulaFormat): Use it.
	(texFormat): Likewise.
	(texFormat1): Likewise.
	(mathmlFormat): Likewise.
	(output): Remove case for TextWriter.

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

	* interp/macros.lisp (sayALGEBRA): Remove as duplicate of sayMSG.
	* interp/i-output.boot: Replace sayALGBEBRA with sayMSG.
	* interp/msg.boot (ncHardError): Remove dead variable ergMsg.
	(ncBug): Likewise.

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

	* gui/conversation.h (OutputTextArea): Now inherit from
	QTextEditor, for the nth time.
	(OutputTextArea::sizeHint): Declare as override.
	* gui/conversation.cc (OutputTextArea::OutputTextArea): Make the
	output text editor read only.  Disallow vertical scroll bars.
	(OutputTextArea::sizeHint): Give a tight estimate.
	(OutputTextArea::add_paragraph): Tidy.
	(OutputTextArea::add_text): Likewise.
	(Exchange::reply_to_query): Toggle the mouse in busy state
	after submitting query.
	(Conversation::read_reply): Untoggle mouse' busy state if last
	output text was read.

2011-06-30  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* sman/sman.c (main): Don't start Hyperdoc if no X11 server is running.

2011-06-30  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/modemap.boot: Cleanup inactive codes.

2011-06-27  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* utils/Makefile.in (libOpenAxiom_SOURCES): Include filesystem.cc
	* include/open-axiom.h (Filesystem): New.
	* gui/debate.cc (Debate::Debate): Initialize fs data member.
	* gui/debate.h (Debate): Declare it.

2011-06-26  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* utils/storage.H (Memory::Arena): Extend.
	(Memory::Factory): Add iterators.  Make bidirectional.

2011-06-26  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* algebra/sf.spad.pamphlet (DoubleFloat) [nan?]: New export.
	* algebra/clip.spad.pamphlet (TwoDimensionalPlotClipping): Use it
          instead of %fNan?.
	* algebra/plot.spad.pamphlet (Plot): Likewise.

2011-06-25  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* sman/Makefile.in (oa_OpenAxiom_ldflags): New.
	(spadclient_LDADD): Use it.
	(sman_LDADD): Likewise.

2011-06-25  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* share/algebra/libaxiom.al: Remove.
	* algebra/libdb.text: Likewise.

2011-06-25  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* sman/sman.c (main): Don't start the graphics and no X11 server
	is running.

2011-06-23  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* utils/command.cc (build_rts_options) [clozure_runtime]: Request
	no read of initialization file instead of quiet mode.
	(execute_core): Set arg[0] to the about-to-bed-executed program.

2011-06-22  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* driver/Makefile.in (open_axiom_LDADD): Use library archives for
	linking, to prevent accidental use of dynamic libraries.

2011-06-22  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/br-con.boot: Remove reference to asharp constructors.
	* interp/br-op2.boot: Likewise.
	* interp/br-saturn.boot: Likewise.
	* interp/br-util.boot: Likewise.
	* interp/c-util.boot: Likewise.
	* interp/cattable.boot: Likewise.
	* interp/database.boot: Likewise.
	* interp/lisplib.boot: Likewise.
	* interp/nrunfast.boot: Likewise.

2011-06-22  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	Fix ECL-based build failure.
	* interp/sys-driver.boot (loadExposureGroupData): Use
	getSystemModulePath to look up system modules.

2011-06-22  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/ast.boot (shoeEVALANDFILEACTQ): Remove.
	(bfMain): Don't use it.
	(translateToplevelExpression): Likewise.
	* interp/Makefile.in (stamp): $(AUTO) is no more. 
	(all-interpsys): Likewise.

2011-06-22  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/spaderror.lisp (trapNumericErrors): Fix typo.

2011-06-22  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/g-opt.boot ($VMsideEffectFreeOperators): Include FUNCALL.
	($simpleVMoperators): Include SPADCALL.

2011-06-22  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/br-search.boot (dbReadLines): Don't include end-of-stream
	marker. 

2011-06-22  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/g-opt.boot (optCond): Remove unreachable code. 
	(opt2bit): Tidy.
	(opt2bool): Likewise.
	* interp/bits.lisp (TRUTH-TO-BIT): Remove.
	(BIT-TO-TRUTH): Likewise.
	(BVEC-MAKE-FULL): Likewise.
	(BVEC-ELT): Likewise.
	(BVEC-SETELT): Likewise.

2011-06-21  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/Makefile.in (OBJS): Remove foam_l.$(FASLEXT), $(ASCOMP).
	(ASCOMP, ASAUTO): Remove.
	* interp/axext_l.lisp: Remove.
	* interp/foam_l.lisp: Likewise.
	* interp/ax.boot: Likewise.
	* interp/as.boot: Likewise.
	* interp/daase.lisp: Adjust.
	* interp/i-syscmd.boot: Likewise.

2011-06-21  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/buildom.boot (MappingCategory): Take argument by value.

2011-06-21  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/compiler.boot: Remove reference to $SingleFloat.
	* interp/foam_l.lisp: Likewise.
	* interp/fortcall.boot: Likewise.
	* interp/sys-constants.boot: Likewise.
	* lisp/core.lisp.in: Likewise.

2011-06-20  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* lisp/core.lisp.in (%fNaN?): New.
	* interp/spaderror.lisp (trapNumericErrors): Handle
	ARITHMETIC-ERROR too.
	* interp/g-opt.boot ($VMsideEffectFreeOperators): Include %fNaN?.
	* algebra/clip.spad.pamphlet (TwoDimensionalPlotClipping): Use it.
	* algebra/plot.spad.pamphlet (Plot): Likewise.

2011-06-20  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/spaderror.lisp ($numericFailure): Remove.
	(trapNumericErrors): Define for non-GCL RTS.
	Tidy GCL-based definition.
	* algebra/draw.spad.pamphlet: trapNumericErrors now returns a
	value of type Maybe T.
	* algebra/plot.spad.pamphlet: Likewise.
	* algebra/plot3d.spad.pamphlet: Likewise.

2011-06-20  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* Makefile.am (OA_GRAPHICS_TARGETS): Fix thinko.

2011-06-20  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* utils/storage.H (Memory::Storage::acquire): Remove.
	(Memory::SinglyLinkedStorage::acquire): Likewise.
	(Memory::DoublyLinkedStorage): New.
	* utils/storage.cc (acquire_storage_with_header): Rename from
	Storage::acquire.  Make template.
	(OneWayLinkHeader): Rename from SingleLinkHeader.
	(TwoWayLinkHeader): New.

2011-06-15  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* lib/fnct_key.c (handle_function_key): Explicitly cast the
	null pointer sentinel to a pointer type.

2011-06-15  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* sman/sman.c: utils.h no longer exists.

2011-06-11  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* scripts/document.in: Remove.

2011-06-09  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* graph/view3D/header.h (swap): Remove.

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

	* lisp/core.lisp.in (%escapeSequenceAverseHost?): New.
	* interp/msgdb.boot (brightPrint0): Use it.

2011-06-05  Gabriel Dos Reis  <gdr@ce.tamu.edu>

	* utils/command.cc (default_driver): New.
	(preprocess_arguments): Use it.  Honor --no-gui on Windows.
	(OPENAXIOM_DEFAULT_DRIVER): Remove.

2011-06-04  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* driver/main.cc (upgrade_environment): Augment PATH for Windows
	DLL search.

2011-06-04  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* driver/Makefile.in (open-axiom$(EXEEXT)): Link statically.
	* boot/ast.boot: Remove debugging statement.

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

	* interp/sys-utility.boot (displayTextFile): New.
	* interp/i-syscmd.boot (summary): Use it.
	(copyright): Likewise.
	* algebra/net.spad.pamphlet: Replace closeFile with closeStream.
	* boot/translator.boot: Likewise.
	* interp/as.boot: Likewise.
	* interp/ax.boot: Likewise.
	* interp/br-saturn.boot: Likewise.
	* interp/br-search.boot: Likewise.

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

	* lisp/core.lisp.in (readExpr): New.
	* interp/as.boot: Replace READLINE with readLine.
	* interp/br-data.boot: Likewise.
	* interp/br-saturn.boot: Likewise.
	* interp/br-search.boot: Likewise.
	* interp/c-doc.boot: Likewise.
	* interp/cstream.boot: Likewise.
	* interp/g-error.boot: Likewise.
	* interp/ht-root.boot: Likewise.
	* interp/htcheck.boot: Likewise.
	* interp/i-syscmd.boot: Likewise.
	* interp/msgdb.boot: Likewise.
	* interp/server.boot: Likewise.
	* interp/topics.boot: Likewise.
	* interp/compat.boot (READLINE): Remove.
	* interp/sys-macros.lisp (shoeConsole): Remove.
	(shoeInputFile): Likewise.
	(shoeread-line): Likewise.
	* boot/ast.boot (bfQ): %nothing only needs EQ.
	* algebra/files.spad.pamphlet (File) [read!, readIfCan!]: Use
	readExpr instead of VMREAD.  Avoid PLACEP
	(TextFile) [readLine!, readLineIfCan!]: Likewise.

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

	* interp/intfile.boot: Remove.

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

	* lisp/core.lisp.in: Define and export readLine and readbyte.
	* interp/sys-utility.boot (readByteFromFile): Remove.
	* boot/tokens.boot: Don't rename readLine and readByte.
	* boot/includer.boot (shoeReadLine): Remove.
	(bRgen1): Adjust.  Use resdLine.
	* algebra/net.spad.pamphlet (InputBinaryFile): Use readByte from
	the runtime system.

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

	* boot/ast.boot (shoeCompTran1): Translate arguments to vector
	constructor too.

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

	* interp/modemap.boot (augModemapsFromDomain): Don't add modemaps
	for element types of Vector or List aggregates.
	* algebrar/: Adjust algebras that depended on this behaviour.

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

	* interp/compiler.boot (compConstructorCategory): Rewrite.

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

	* algebra/aggcat.spad.pamphlet (Aggregate) [more?,less?,size?]:
	Move to StreamAggregate.
	* algebra/array2.spad.pamphlet (TwoDimensionalArrayCategory):
	Don't implement them.
	* algebra/tree.spad.pamphlet (Tree): Likewise.

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

	* interp/i-analy.boot (bottomUpForm0): Tidy.
	* interp/i-eval.boot (evalForm): Likewise.
	* interp/buildom.boot (formalRecordField): New.
	(eltRecordFun): Use it.
	(seteltRecordFun): New.
	* interp/g-opt.boot (optSETRECORDELT): Remove.
	(optRECORDCOPY): Likewise.
	* interp/vmlisp.lisp (MAKE-VEC): Likewise.

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

	* interp/i-eval.boot (evalForm): Adjust.
	* interp/buildom.boot (mkRecordFun): New.
	(eltRecordFun): Likewise.
	(copyRecordFun): Likewise.
	(mkRecordFunList): Use them.
	* interp/g-opt.boot (optMkRecord): Remove.
	(optRECORDELT): Likewise.
	* interp/lisp-backend.boot: Translate %vcopy.

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

	* interp/buildom.boot (lookupInDomainVector): Establish a new
	binding for $lookupDefaults.

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

	* interp/buildom.boot (mkEnumerationFunList): Include enum
	constants in the operation list.

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

	* interp/buildom.boot (Enumeration): Provide implementation of
	constants. 

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

	* boot/translator.boot: Remove bindings of $GenVarCounter.
	* boot/parser.boot (bpOutItem): Bind it here.

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

	* interp/buildom.boot (EnumerationCategory): Rewrite.
	* interp/compiler.boot (compEnumCat): New.  Compile
	EnumerationCategory forms.

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

	* boot/ast.boot (bfAtScope): New.
	* boot/parser.boot (bpDo): Accept scoped expressions.
	* boot/translator.boot: Cleanup.

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

	* boot/tokens.boot: "do" is now a keyword.
	* boot/ast.boot (bfDo): New.
	* boot/parser.boot (bpDo): New.
	(bpReturn): Include do-expressions.
	* interp/vmlisp.lisp (do): Remove.

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

	* boot/ast.boot (shoeCompTran1): Don't indiscriminately walk CASE
	forms.  Translate %Namespace forms too.
	* boot/parser.boot (bpApplication): Include Namespace too.

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

	* boot/parser.boot (bpNamedScope): New.
	(bpApplication): Call it.

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

	* boot/utility.boot (charPosition): New.
	* boot/scanner.boot (shoeAccumulateLines): Use it.
	(shoeS): Likewise.

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

	* boot/initial-env.lisp (MAKE-HASHTABLE): Remove.
	(BEVC-MAKE-FULL): Likewise.
	(MAKE-BVEC): Likewise.
	* boot/tokens.boot (shoeKeyTableCons): Adjust.
	(shoePunCons): Likewise.
	(shoeDfu): Likewise.
	(shoeXref): Likewise.

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

	* algebra/table.spad.pamphlet (HashTable): Use tableValue instead
	of HGET. Use tableLength instead of HCOUNT.

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

	* boot/initial-env.lisp (shoeOpenOutputFile): Remove.  Adjust
	callers to use outputTextFile.

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

	* boot/initial-env.lisp (shoeOpenInputFile): Remove.  Adjust
	callers to use inputTextFile with try/finally.

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

	* boot/ast.boot (idList?, charList?, stringLits?): New.
	(bfMember): Use them for special cases.
	* boot/parser.boot (bpDefinition): Stop support MDEF forms.
	(bpMdef, bpMDefTail): Remove.
	* boot/tokens.boot: "==>" is no longer a token.

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

	* interp/c-util.boot (categoryRef, domainRef, canonicalForm)
	(instantiatorCtor, instantiatorArgs, categoryExports): New.

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

	* boot/parser.boot (bpDefinition): Accept macro definition
	starting with the keyword "MACRO".
	* boot/translator.boot (exportNames): Export them in all
	evaluation contexts.
	* interp/c-util.boot: "macro" is now a keyword.
	* interp/define.boot: Likewise.
	* interp/g-util.boot: Likewise.
	* interp/i-syscmd.boot: Likewise.
	* interp/postpar.boot: Likewise.

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

	* interp/macros.lisp (WI, tryLine, embrace indentNB, tryBreak)
	(tryBreakNB, MARKHASH): Remove.
	* interp/spad.lisp (NEWNAMTRANS): Likewise.
	* interp/sys-macros.lisp: Remove more Lispy junk.

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

	* boot/utility.boot (applySubstNQ): New.
	* interp/compiler.boot (finishLambdaExpression): Use it.
	* interp/i-intern.boot (mkAtreeExpandMacros): Likewise.
	* interp/i-map.boot (addMap): Likewise.
	* interp/vmlisp.lisp (SUBLISNQ, SUBANQ, SUBB): Remove.

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

	* interp/vmlisp.lisp (EQSUBSTLIST): Remove.
	* interp/c-util.boot (eqSubstAndCopy, eqSubst): Likewise.  Adjust
	callers. 

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

	* interp/buildom.boot: Replace use of EQSUBSTLIST with applySubst.
	* interp/c-util.boot: Likewise.
	* interp/cattable.boot: Likewise.
	* interp/compiler.boot: Likewise.
	* interp/define.boot: Likewise.
	* interp/format.boot: Likewise.
	* interp/functor.boot: Likewise.
	* interp/hashcode.boot: Likewise.
	* interp/i-output.boot: Likewise.
	* interp/i-syscmd.boot: Likewise.
	* interp/lisplib.boot: Likewise.
	* interp/modemap.boot: Likewise.
	* interp/rulesets.boot: Likewise.
	* interp/slam.boot: Likewise.
	* interp/sys-macros.lisp (APPLYR, TAILFN, TAIL, rplac): Remove as
	unused. 

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

	* boot/tokens.boot: Don't rename append.
	* boot/parser.boot (bpTyping): Support universally quantified types.
	* boot/ast.boot: Rewrite APPEND as append.
	(%Forall): New AST node.
	* boot/translator.boot: Translate it.

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

	* boot/ast.boot (bfAppend): Write in full.
	* interp/ptrees.boot (pfAppend): Likewise.

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

	* interp/vmlisp.lisp (NREMOVE): Remove.
	(EFFACE): Likewise.
	* interp/sys-utility.boot (remove!): New.

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

	* interp/vmlisp.lisp (remove): Remove.
	(REMOVEQ, NREMOVEQ): Likewise.
	* boot/utility.boot (removeSymbol, removeScalar, removeValue)
	(remove):  New.
	* boot/ast.boot (bfMDef): Use applySubst in lieu of SUBLIS.

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

	* boot/utility.boot (assocSymbol): New.
	(applySubst): Likewise.  Export.
	* boot/ast.boot: Use it.  Remove SUBLIS and SUBLISLIS.
	* interp/ax.boot: Likewise.
	* interp/br-con.boot: Likewise.
	* interp/br-op1.boot: Likewise.
	* interp/br-op2.boot: Likewise.
	* interp/br-prof.boot: Likewise.
	* interp/br-saturn.boot: Likewise.
	* interp/buildom.boot: Likewise.
	* interp/c-doc.boot: Likewise.
	* interp/c-util.boot: Likewise.
	* interp/cattable.boot: Likewise.
	* interp/compiler.boot: Likewise.

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

	* interp/cattable.boot (hasCat): Add type.  Accept only
	instantiation forms.
	(simpHasPred): Adjust call to hasCat.
	* interp/i-funsel.boot (hasCaty): Likewise.

2011-04-27  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/ast.boot (bfReduceCollect): Delegate to bfDoCollect if
	op is append or append!.

2011-04-27  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/ast.boot (bfCollect): Use bfDoCollect.
	(bfListReduce): Remove.

2011-04-27  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/ast.boot (bfMakeCollectInsn): Fix thinko.

2011-04-27  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/br-util.boot (dbInfovec): Move to c-util.boot

2011-04-25  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/translator.boot (inAllContexts): New.
	(translateToplevel): Use it.
	* boot/parser.boot (bpImport): Accept namespace import.

2011-04-24  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/initial-env.lisp (MEMQ): Remove.
	* boot/ast.boot (shoeATOMs): Don't use it.
	(isDynamicVariable): Likewise.
	(shoeCompTran1): Likewise.
	* boot/translator.boot (defuse1): Likewise.

2011-04-24  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/ast.boot (bfMakeCollectInsn): New.
	(bfDoCollect): Tidy.

2011-04-24  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/ast.boot (bfDoCollect): New.  Implement one-pass 
	list comprehension.
	(bfListReduce): Use it.

2011-04-23  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/ast.boot (bf0APPEND): Remove.
	(bf0COLLECT): Likewise.
	(bfCollect): Tidy.

2011-04-23  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* lisp/core.lisp.in: Export basic types and compiler data types.
	* interp/modemap.boot (knownInfo): Fix latent bug uncovered by
	type declarations.
	* boot/ast.boot: Remove type definitions.
	(bfIN): Handle DOT as loop variable.
	(bfON): Likewise.  Allow a loop variable to iterator over its own
	tails. 
	* boot/parser.boot (bfTyping): Simplify.
	(bpSimpleMapping): Fix thinko.

2011-04-22  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/tokens.boot: Don't translate setDifference.
	* boot/initial-env.lisp (SETDIFFERNECE): Remove.
	* boot/translator.boot (evalBootFile): Rename form EVAL-BOOT-FILE.
	* boot/utility.boot (setDifference): Define.
	* interp/unlisp.lisp (ListMemberQ?): Remove.
	(ListRemoveQ): Likewise.
	(AlistAssocQ): Likewise.

2011-04-21  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/utility.boot (copyList): Define.
	(append!): Likewise.
	* boot/tokens.boot: Do not translate nconc.

2011-04-21  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/tokens.boot: Don't translate lastNode anymore.
	* boot/utility.boot (lastNode): Define.

2011-04-21  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/utility.boot (objectMember?): Don't rely non tail recursion
	removal. 
	(reverse): Define.
	* boot/tokens.boot: Don't rename reverse anymore.
	* boot/ast.boot: Generate reverse forms instead of REVERSE.

2011-04-21  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/tokens.boot: Don't rename nreverse.
	* boot/utility.boot (reverse!): Define.
	* boot/parser.boot: Use reverse! instead of NREVERSE.
	* boot/ast.boot: Generate reverse! forms instead of NREVERSE.

2011-04-20  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/sys-utility.boot (substitute): Define.
	(substitute!): Likewise.
	* boot/utility.boot: Do not rely on tail recursion removal.
	* boot/tokens.boot: Don't translate substitute and substitute!.
	* boot/ast.boot (bfLp1): Tidy.

2011-04-19  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/tokens.boot: charUpcase, charDowncase, stringUpcase,
	singDowncase, valueEq? are new builtin functions.
	* boot/ast.boot (bfMembr): Tidy.

2011-04-19  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/newfort.boot: Likewise.
	* interp/define.boot (orderBySubsumption): Fix thinko.
	* interp/boot-pkg.lisp: Use BOOTTRAN package.  Don't import names
	individually.
	* boot/utility.boot: New.
	* boot/translator.boot (exportNames): Fix thinko.
	* boot/tokens.boot: Add charEq? and scalarEq? builtiin functions.
	* boot/ast.boot (bfMember): Generate call to symbolMember? for
	membership tests for symbols.

2011-04-19  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/ast.boot (%Module): Now take three arguments.
	* boot/parser.boot (bpModuleInterface): Rename from bpExports.
	(bpModuleExports): New.
	(bpModule): Now allow specification of exported names.

2011-04-17  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/tokens.boot: Translate maxIndex to MAXINDEX.

2011-04-16  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/tokens.boot (shoeIdChar): Accept "!" too.

2011-04-14  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/msgdb.boot: Use stringChar more often.

2011-04-11  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* lisp/core.lisp.in: Include SB-SPROF when profiling SBCL-based build.

2011-04-10  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* lisp/core.lisp.in (compileLispFile): Tell ECL that the linker is 
	a C++ compiler.

2011-03-22  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* algebra/op.spad.pamphlet (BasicOperator) [display]: Now return a
	Maybe (List O -> O) value.
	[input]: Now return a Maybe(List SEX -> SEX).
	* algebra/kl.spad.pamphlet (Kernel): Adjust.
	* algebra/pattern.spad.pamphlet (Pattern): Likewise.

2011-03-20  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/g-opt.boot ($VMsideEffectFreeOperators): Include
	%bytevec2str and %str2bytevec opcode.
	* interp/lisp-backend.boot: Expand them.
	* algebra/data.spad.pamphlet (ByteBuffer): Tidy.

2011-03-19  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/translator.boot (FC): Remove.
	(FBO): Likewise.
	(FEV): Likewise.
	(shoeGeneralFC): Likewise.
	(shoeFindName): Likewise.
	(shoeFindName2): Likewise.
	(shoeTransform2): Likewise.
	* boot/scanner.boot (shoeLineToks): Don't support `)package' line
	anymore. 
	* boot/includer.boot: Remove support for `)package', `)include',
	`)includelisp', `)includelines' lines.
	(shorPackageStartsAt): Remove.
	(shorFindLines): Likewise.
	(shoeFileInput): Likewise.
	(shoeLispFileInput): Likewise.
	(shoeLineFileInput): Likewise.
	(shoeFunctionFileInput): Likewise.
	(shoePlainLine?): Reflect removal.
	(shoeSimpleLine): Likewise.
	* boot/tokens.boot (charByName): New builtin library function.
	* algebra/sf.spad.pamphlet (RealNumberSystem): Don't re-export
	abs.  It is already exported by OrderedRing.

2011-03-17  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* utils/sexpr.H: Support more specialized s-expressions.
	* utils/sexpr.cc: Likewise.

2011-03-17  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* utils/storage.H: Rework.
	* utils/storage.cc: Likewise.

2011-03-16  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/i-syscmd.boot (compileSpad2Cmd): Remove experimental
	support for Spad to Aldor translation.
	(convertSpasToAsFile): Remove.
	* interp/mark.boot: Remove.
	* interp/nspadux.lisp: Likewise.
	* interp/pspad1.boot: Likewise.
	* interp/pspad2.boot: Likewise.
	* interp/wi1.boot: Likewise.
	* interp/wi2.boot: Likewise.
	* interp/spad.lisp: Don't register removed formatters.
	* interp/util.lisp: (TRANSLATE-FUNCTIONS): Remove.
	(BUILD-INTERPSYS): Now take only one argument.
	* src/share/doc/msgs/s2-us.msgs: Remove diagnostic S2IZ0085.
	* interp/Makefile.in: Remove rules for building wi1.boot,
	wi2.boot, mark.boot, pspad1.boot pspad2.boot.

2011-03-12  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* src/algebra/: Systematically use not zero? when comparing for
	 equality with 0.

2011-03-12  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* src/algebra/: Systematically use not one? when comparing for
	 equality with 1.

2011-03-12  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* src/algebra/: Systematically use negative? when comparing for
	 equality with 0.

2011-03-12  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* src/algebra/: Systematically use negative? when comparing for
	greater than 0.

2011-03-12  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* src/algebra/: Systematically use negative? when comparing for
	less than 0.

2011-03-12  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* algebra/si.spad.pamphlet (IntegerNumberSystem) [positive?]:
	Remove definition.
	(SingleInteger): Simplify implementation of random.
	* algebra/sf.spad.pamphlet (DoubleFloat): Likewise.  
	[positive?]: Define.
	* algebra/integer.spad.pamphlet (Integer): Tidy.

2011-03-11  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* algebra/catdef.spad.pamphlet (OrderedAbelianGroup): Export
	negative?, abs, sign, with default implementations.
	(OrderedAbelianMonoid): Export positive?, with default.
	(OrderedRing): Don't export them.

2011-03-10  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* algebra/catdef.spad.pamphlet (CharacteristicNonZero)
	[charthRoot]:  Now return Maybe %.
	(PolynomialFactorizationExplicit) [charthRoot]: Likewise.
	* algebra/ffcat.spad.pamphlet (FiniteAlgebraicExtensionField):
	Propagate change.
	* algebra/fraction.spad.pamphlet (Fraction) [charthRoot]: Likewise.
	* algebra/poly.spad.pamphlet (UnivariatePolynomialSquareFree):
	Likewise. 
	* algebra/polycat.spad.pamphlet (PolynomialCategory): Likewise.

2011-03-10  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/c-util.boot (equalFormTemplate): Tidy comparison of value
	argument to constructors.

2011-03-10  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/c-util.boot (mutateArgumentList): New.
	(inlineDirectCall): Break out of replaceSimpleFunctions.
	(resolveIndirectCall): Break out of foldSpadcall.
	(replaceSimpleFunctions): Use them.
	(foldSpadcall): Remove.
	(usesVariablesLinearly?): Tidy.
	(foldExportedFunctionReferences): Don't call foldSpadcall.

2011-03-10  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/c-util.boot (resolveConstantForm): New.  Split out of
	replaceSimpleFunctions.
	(foldSpadcall): Use it too.

2011-03-09  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* algebra/catdef.spad.pamphlet (StepThrough) [nextItem]: Now
	return Maybe %.
	* algebra/ffcat.spad.pamphlet: Propagate change.
	* algebra/fmod.spad.pamphlet: Likewise.
	* algebra/fraction.spad.pamphlet: Likewise.
	* algebra/integer.spad.pamphlet: Likewise.
	* algebra/pfbr.spad.pamphlet: Likewise.
	* algebra/polycat.spad.pamphlet: Likewise.
	* algebra/si.spad.pamphlet: Likewise.

2011-03-09  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* algebra/catdef.spad.pamphlet (EuclideanDomain)
	[expressIdealMember]:  Now returns Maybe List %.
	* algebra/Makefile.in: Tidy.
	(axiom_algebra_bootstrap_last_layer): Remove.

2011-03-09  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/g-opt.boot: %pair, %list, %vector, %bitvector are now
	considered side-effect free functions.
	* algebra/boolean.spad.pamphlet: Reflect change.
	* algebra/Makefile.in (oa_strap_0_sources): Include MAYBE.

2011-03-09  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/g-opt.boot (semiSimpleRelativeTo?): Consider conditionals.

2011-03-07  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* algebra/catdef.spad.pamphlet (SemiRing): New category.

2011-03-06  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/sys-utility.boot (getSystemModulePath): Use
	systemAlgebraDirectory. 
	* interp/database.boot (pathToDatabase): Use systemDatabaseDirectory. 
	* algebra/integer.spad.pamphlet (Integer) [latex]: Tidy.
	* algebra/string.spad.pamphlet (Character) [latex]: Likewise.
	* algebra/Makefile.in: Rework bootstrapping set up.
	(COMPILE_LISP): Remove.
	(axiom_algebra_layer_strap): Likewise.
	(axiom_algebra_layer_strap_objects): Likewise.
	(axiom_algebra_bootstrap): Likewise.
	(oa_strap_0_fasls): New.
	(oa_strap_1_fasls): Likewise.
	(oa_strap_2_fasls): Likewise.
	(oa_strap_0_sources): Likewise.
	(oa_strap_1_sources): Likewise.
	(oa_strap_2_sources): Likewise.
	* src/algerab/strap: Remove.

2011-03-06  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* algebra/si.spad.pamphlet (SingleInteger): Logic is indirectly
	included through BooleanLogic.

2011-03-06  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/i-eval.boot (mkEvalable): Simplify.
	(mkEvalableMapping): Remove.
	(mkEvalableRecord): Likewise.
	(mkEvalableUnion): Likewise.

2011-03-06  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/g-opt.boot ($VMsideEffectFreeOperators): Include %c2s.
	* interp/lisp-backend.boot: Translate it.
	* algebra/integer.spad.pamphlet (Integer) [convert]: Tidy.
	[latex]: Likewise.
	* algebra/string.spad.pamphlet (Character)[latex]: Likewise.

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

	* interp/as.boot: Use getConstructorAbbreviationFromDB.
	* interp/br-con.boot: Likewise.
	* interp/br-data.boot: Likewise.
	* interp/br-prof.boot: Likewise.
	* interp/br-util.boot: Likewise.
	* interp/c-doc.boot: Likewise.
	* interp/clammed.boot: Likewise.
	* interp/database.boot: Likewise.
	* interp/define.boot: Likewise.
	* interp/format.boot: Likewise.
	* interp/functor.boot: Likewise.
	* interp/g-cndata.boot: Likewise.
	* interp/i-funsel.boot: Likewise.
	* interp/i-output.boot: Likewise.
	* interp/lisplib.boot: Likewise.
	* interp/pspad1.boot: Likewise.

2011-03-04  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/nrunopt.boot: Move content to define.boot, interop.boot,
	lisplib.boot, nruncomp.boot, showimp.boot.  Delete.

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

	* interp/nrungo.boot: Move content to buildom.boot, i-map.boot,
	i-special.boot, nrunfast.boot.  Delete.

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

	* interp/i-eval.boot (mkEvalable): Exit early on niladic constructors.
	* interp/define.boot (compDefineFunctor1): If bootstrapping, mark
	functor as incomplete.
	* interp/c-util.boot (lookupDefiningFunction): Don't look into
	incomplete domains.

2011-02-28  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/info.boot: Move content to modemap.boot.  Delete.

2011-02-28  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/i-code.boot: Move content to i-coerce.boot.  Delete.

2011-02-28  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* algebra/boolean.spad.pamphlet (PropositionalFormula): 
	Implement true and false.  Fix thinko in notFormula.

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

	* interp/i-analy.boot (elaborateTree): New.
	* interp/i-special.boot (bottomUpProposition): Likewise.  
	(upand): Use  it to handle propositional formula.
	(upor): Likewise.

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

	* interp/i-analy.boot (bottomUpWithArgModesets): Split out of
	bottomUp.
	(bottomUp): Call it.

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

	* interp/Makefile.in (OBJS): Remove i-spec1.$(FASLEXT) and
	i-spec2.$(FASLEXT).  Add i-special.$(FASLEXT).
	* interp/i-spec1.boot, interp/i-spec2.boot: Move content to
	i-special.boot.  Remove.

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

	* algebra/outform.spad.pamphlet (OutputForm) [infix?]: Rewrite.

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

	* interp/g-opt.boot (optCond): Recognize conjunction and
	disjunction forms.

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

	* interp/nruncomp.boot (optDeltaEntry): Don't SPADCALL the
	constant producing function.
	* interp/c-util.boot (getFunctionReplacement): Use
	comptileTimeBindingOf.
	(lookupDefiningFunction): Tidy.
	* interp/g-opt.boot (compileTimeBindingOf): Move to c-util.boot.

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

	* interp/g-opt.boot (canInlineVarDefinition): Observe order of
	evaluation. 

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

	* interp/g-opt.boot (optNot): Push %not inside conditionals.
	(optCond): Remove ineffectual transformation.

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

	* interp/parse.boot (parseLessEqual): Remove.

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

	* algebra/fmod.spad.pamphlet (IntegerMod): Simplify implementation.

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

	* boot/tokens.boot: makeSymbol is not a builtin function.
	* boot/ast.boot: Use makeSymbol in place of INTERN.
	* boot/parser.boot: Likewise.
	* boot/scanner.boot: Likewise.
	* boot/translator.boot: Likewise.
	* interp/alql.boot: Likewise.
	* interp/as.boot: Likewise.
	* interp/ax.boot: Likewise.
	* interp/bc-matrix.boot: Likewise.
	* interp/bc-solve.boot: Likewise.
	* interp/br-con.boot: Likewise.
	* interp/br-data.boot: Likewise.
	* interp/br-op2.boot: Likewise.
	* interp/br-prof.boot: Likewise.
	* interp/br-search.boot: Likewise.
	* interp/c-doc.boot: Likewise.
	* interp/c-util.boot: Likewise.
	* interp/clam.boot: Likewise.
	* interp/compiler.boot: Likewise.
	* interp/define.boot: Likewise.
	* interp/format.boot: Likewise.
	* interp/fortcall.boot: Likewise.
	* interp/i-syscmd.boot: Likewise.
	* interp/i-spec1.boot: Likewise.
	* interp/i-output.boot: Likewise.
	* interp/i-coerce.boot: Likewise.
	* interp/i-map.boot: Likewise.
	* interp/htsetvar.boot: Likewise.
	* interp/ht-util.boot: Likewise.
	* interp/g-util.boot: Likewise.
	* interp/functor.boot: Likewise.
	* interp/pspad1.boot: Likewise.
	* interp/pspad2.boot: Likewise.
	* interp/postpar.boot: Likewise.
	* interp/pf2sex.boot: Likewise.
	* interp/parse.boot: Likewise.
	* interp/packtran.boot: Likewise.
	* interp/nrunopt.boot: Likewise.
	* interp/nruncomp.boot: Likewise.
	* interp/newfort.boot: Likewise.
	* interp/msgdb.boot: Likewise.
	* interp/modemap.boot: Likewise.
	* interp/mark.boot: Likewise.
	* interp/intfile.boot: Likewise.
	* interp/interop.boot: Likewise.
	* interp/incl.boot: Likewise.
	* interp/word.boot: Likewise.
	* interp/wi2.boot: Likewise.
	* interp/wi1.boot: Likewise.
	* interp/trace.boot: Likewise.
	* interp/topics.boot: Likewise.
	* interp/sys-constants.boot: Likewise.
	* interp/showimp.boot: Likewise.
	* interp/scan.boot: Likewise.

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

	* interp/sys-macros.lisp (shellEntry): New.
	* interp/g-util.boot (setShellEntry): Remove.
	* interp/compiler.boot: Use %store to %tref forms instead of
	setHSellEntry. 
	* interp/define.boot: Likewise.
	* interp/functor.boot: Likewise.
	* interp/nruncomp.boot: Likewise.
	* interp/nrunfast.boot: Likewise.
	* interp/showimp.boot: Likewise.
	* interp/c-util.boot (isSimple): Tidy.
	(isSideEffectFree): Likewise.
	(updateCapsuleDirectory): Likewise.

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

	* interp/c-util.boot (isSimple): Accept constructor instantiations.
	* algebra/formula.spad.pamphlet: Avoid Lispisms.
	* algebra/mathml.spad.pamphlet: Likewise.
	* algebra/op.spad.pamphlet: Likewise.
	* algebra/sex.spad.pamphlet: Likewise.

2011-02-22  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/tokens.boot: mmSource is a new selector for modemap datatype.
	* interp/wi1.boot: Likewise.
	* interp/br-data.boot: Various cleanups.
	* interp/c-util.boot: Likewise.
	* interp/compiler.boot: Likewise.
	* interp/functor.boot: Likewise.
	* interp/g-util.boot: Likewise.
	* interp/guess.boot: Likewise.
	* interp/i-util.boot: Likewise.
	* interp/mark.boot: Likewise.
	* interp/msgdb.boot: Likewise.
	* interp/topics.boot: Likewise.

2011-02-22  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/g-opt.boot (optCond): Recognize conjunctive guard as
	nested conditionals.

2011-02-20  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/parse.boot (transSeq): Aggregate branches of toplevel
	conditionals so that implications propagate down the pipe.

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

	* interp/compiler.boot (coerceExtraHard): Explicitly fail if
	autoCoerceByModemap fails.

2011-02-14  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/compiler.boot (getUnionMode): Remove.
	(isUnionMode): Move to c-util.boot.
	(coerceExtraHard): Rework.
	(belongsTo?): Remove.
	* interp/c-util.boot (isUnionMode): Moved from compiler.boot.
	(unionLike?): New.
	(unionProperty): Likewise.
	(getInverseEnvironment): Use unionProperty instead of getUnionMode.

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

	* interp/c-util.boot (getSuccessEnvironment): Follow through
	temporaries designating result of assignment.
	(getInverseEnvironment): Likewise.

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

	* interp/buildom.boot (mkNewUnionFunList): Align arity of
	'case' implementation to declared signature.
	(mkUnionFunList): Likewise.
	* interp/compiler.boot (compCase1): 'case' is now unconditionally
	binary. 
	* interp/g-opt.boot (optCond): Fix thinko.

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

	* interp/g-opt.boot (optCond): Get rid of double negatives when
	possible. 
	* interp/g-util.boot (assumeProperty): Remove.
	(flattenVMForm): Likewise.
	(mkVMForm): Likewise.

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

	* interp/compiler.boot (compCons1): Use coerce not convert.
	(setqSingle): Likewise.
	(setqMultiple): Likewise.
	(compConstruct): Likewise.
	(compQuote): Likewise.
	(compElt): Likewise.
	(compSignatureImport): Likewise.
	(compComma): Likewise.

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

	* interp/compiler.boot (compExpressionList): Remove.
	(compForm1): Don't call it.

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

	* interp/g-opt.boot (changeVariableDefinitionToStore): Tidy.

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

	* interp/g-opt.boot (dependentVars): New.
	(canInlineVarDefinition): Use it to safely inline vardefs.

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

	* interp/compiler.boot (canReturn): Don't check for LET*.
	* interp/g-opt.boot (optLET*): Remove as we now generate only
	%bind forms.

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

	* interp/g-opt.boot ($VMsideEffectFreeOperators): Include %funcall
	and %nothing.
	* algebra/mkfunc.spad.pamphlet: Use %funcall instead of FUNCALL.

2011-02-10  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/vmlisp.lisp (VEC-SETELT): Remove.
	* interp/scan.boot (scanInserts): Use vectorRef.
	* interp/functor.boot (DescendCode): Don't check for SETELT or
	QSETREFV forms.
	* interp/nrunfast.boot (evalSlotDomain): Likewise.

2011-02-10  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/sys-globals.boot ($evalDomain): Remove.
	* interp/nrungo.boot (NRTevalDomain): Likewise.  Fix callers to call
	evalDomain. 
	* interp/i-eval.boot (evalDomain): Don't check for $evalDomain
	anymore. Handle assignment to domain object forms.

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

	Add MappingCategory as a (builtin) category.
	* interp/sys-constants.boot ($CategoryNames): Include MappingCategory.
	* interp/g-cndata.boot (unabbrevSpecialForms): Handle
	MappingCategory, RecordCategory, and UnionCategory.
	* interp/buildom.boot (MappingCategory): New.
	* interp/compiler.boot: Elaboration MappingCategory forms. 
	* interp/g-error.boot (needsToSplitMessage): Fix thinko from
	type-based dispatch done by the Boot translator.
	* interp/nrunfast.boot (builtinConstructor?): New.
	(generalizedBuiltinConstructor?): Likewise.
	(lazyMatch): Use them.
	(newHasTest): Properly recognize all flavours of category forms.

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

	* interp/sys-constants.boot ($PrimitiveDomainNames): Remove.
	* interp/category.boot (mkCategory): Drop test for primitive
	domains.

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

	* interp/category.boot (mkCategory): Don't single out List
	instantiations in determining NewLocals.

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

	* interp/category.boot(categoryObject?): Rename from isCategory.
	* interp/c-util.boot: Adjust use.
	* interp/functor.boot: Likewise.
	* interp/modemap.boot: Likewise.

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

	* interp/buildom.boot: Don't cache instantiation of builtin
	domains, as the comment at the top of the file says.

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

	* interp/lisp-backend.boot: Translate %ident? to IDENTP, not SYMBOLP.
	* interp/compiler.boot (compMatch): test for identifier, not
	atomic value.
	* algebra/syntax.spad.pamphlet (Syntax): Tidy.

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

	* boot/tokens.boot: arrayRef is now a builtin function.

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

	* algebra/ituple.spad.pamphlet (InfiniteTuple): Use Stream S as
	representation, not extended domain (default search does not
	work for the non-extending categories.)

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

	* interp/g-opt.boot (groupVariableDefinitions): Look into clauses
	of conditional too.

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

	* interp/c-util.boot (matchingEXIT): New.
	(simplifySEQ): Use it.

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

	* interp/g-opt.boot ($VMsideEffectFreeOperators): Include %fmanexp.
	(sideEffectFree?): New.
	(varIsAssigned): Tidy.
	(canInlineVarDefinition): Likewise.
	* interp/boot-pkg.lisp (gensym?): New.
	* interp/c-util.boot ($NonExpandableOperators): New.
	(expandableDefinition?): Use it.
	* algebra/sf.spad.pamphlet (DoubleFloat): Use %fmanexp.

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

	* interp/g-opt.boot ($VMsideEffectFreeOperators): Include inverse
	hyperbolic functions.
	* interp/lisp-backend.boot: Expand them.
	* algebra/sf.spad.pamphlet: Use them.

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

	* interp/g-opt.boot ($VMsideEffectFreeOperators): Remove CGREATERP
	and GGREATERP.  Add VM-level complex number operators.
	* interp/lisp-backend.boot: Expand them.
	* algebra/gaussian.spad.pamphlet (ComplexCategory): Use VM form
	instead of Lisp level forms.
	* algebra/pfr.spad.pamphlet (PartialFraction): Likewise.
	* algebra/si.spad.pamphlet (SingleInteger): Likewise.
	* algebra/symbol.spad.pamphlet (Symbol): Likewise.

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

	* interp/g-opt.boot ($VMsideEffectFreeOperators): Remove more Lisp
	level operators.  Include %property and %bitveclt.
	* interp/lisp-backend.boot: Expand them.
	* algebra/si.spad.pamphlet (SingleInteger): Tidy.  Use %ismall?.
	* algebra/domain.spad.pamphlet (DomainConstructo): Use %property.
	* algebra/outform.spad.pamphlet (OutputForm): Likewise.
	* algebra/boolean.spad.pamphlet (IndexedBits): Use %bitveclt.

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

	* interp/c-util.boot (mutateConditionalFormWithUnaryFunction):
	Rename from mutateCONDFormWithUnaryFunction.  Update callers
	(mutateBindingFormWithUnaryFunction): Rename from
	mutateLETFormWithUnaryFunction.  Allow %bind form too.
	Update callers.

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

	* algebra/stream.spad.pamphlet (Stream): Remove bogus assignment
	to Rep. Rework local function definitions.

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

	* interp/c-util.boot: Replace COND with %when throught.
	Use %otherwise instead of %true where appropriate.
	* interp/define.boot: Likewise.
	* interp/functor.boot: Likewise.
	* interp/g-opt.boot: Likewise.
	* interp/i-code.boot: Likewise.
	* interp/i-output.boot: Likewise.
	* interp/i-spec1.boot: Likewise.
	* interp/i-spec2.boot: Likewise.
	* interp/i-util.boot: Likewise.
	* interp/info.boot: Likewise.
	* interp/modemap.boot: Likewise.
	* interp/nruncomp.boot: Likewise.
	* interp/pspad1.boot: Likewise.
	* interp/pspad2.boot: Likewise.
	* interp/slam.boot: Likewise.
	* interp/wi1.boot: Likewise.
	* interp/wi2.boot: Likewise.
	* interp/compiler.boot (canReturn): Don't test for COND anymore.

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

	* interp/slam.boot (reportFunctionCompilation): Use %otherwise,
	not %true for default cases.
	(reportFunctionCacheAll): Likewise.
	(compileRecurrenceRelation): Likewise.
	* interp/lisp-backend.boot (expandTry): Tidy.
	* interp/g-opt.boot ($VMsideEffectFreeOperators): Include %otherwise.
	* interp/compiler.boot (compAlternativeGuard): Emit %otherwise
	form, not Lisp level T form.
	* interp/clam.boot (compClam): Tidy.
	(compHash): Likewise.
	(compHashGlobal): Likewise.

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

	* interp/compiler.boot (finishLambdaExpression): Tidy.  Don't
	generate Lisp code directly.
	(canReturn): Don't look into CLOSEDFN forms.

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

	* interp/clam.boot: Tidy.
	* interp/slam.boot: Likewise.

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

	* interp/lisp-backend.boot: New file.  Consolidate Common Lisp
	backend module.
	* interp/Makefile.in (OBJS): Include it.
	(lisp-backend.$(FASLEXT)): New rule.

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

	* algebra/files.spad.pamphlet (Library): Remove assignment to Rep.
	* algebra/lie.spad.pamphlet (AssociatedLieAlgebra): Likewise.
	(AssociatedJordanAlgebra): Likewise.
	(LieSquareMatrix): Likewise.

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

	* interp/nrunopt.boot (NRTgetLookupFunction): Explain reason for
	non-extension. 

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

	* interp/compiler.boot (compList): Use %nil form, not NIL.

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

	* interp/g-opt.boot (optCallSpecially): Remove.
	(optSpeciallCall): Likeise.
	(optCall): Adjust.
	(optCallEval): Move to wi2.boot, sole user.

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

	* interp/g-opt.boot (optQSMINUS): Remove.
	* algebra/data.spad.pamphlet: Tidy.
	* algebra/plot.spad.pamphlet: Likewise.
	* algebra/plot3d.spad.pamphlet: Likewise.
	* algebra/si.spad.pamphlet: Likewise.
	* algebra/syntax.spad.pamphlet: Likewise.
	* algebra/list.spad.pamphlet: Remove use of NULL$Lisp.

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

	* interp/g-opt.boot ($VMsideEffectFreeOperators): Remove QCDR,
	QCAR. SYMBOLP, GREATERP. 
	Add %ibit, %ilength, %ident, %equal.
	* interp/g-util.boot: Expand them
	* algebra/any.spad.pamphlet: Tidy.
	* algebra/catdef.spad.pamphlet: Likewise.
	* algebra/data.spad.pamphlet: Likewise.
	* algebra/domain.spad.pamphlet: Likewise.
	* algebra/float.spad.pamphlet: Likewise.
	* algebra/fname.spad.pamphlet: Likewise.
	* algebra/integer.spad.pamphlet: Likewise.
	* algebra/list.spad.pamphlet: Likewise.
	* algebra/outform.spad.pamphlet: Likewise.
	* algebra/random.spad.pamphlet: Likewise.
	* algebra/sex.spad.pamphlet: Likewise.
	* algebra/si.spad.pamphlet: Likewise.
	* algebra/symbol.spad.pamphlet: Likewise.
	* algebra/syntax.spad.pamphlet: Likewise.

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

	* interp/vmlisp.lisp: Remove QREFELT, QSDEC1, QSETREFV, QSETVELT,
	QSETVELT-1, QSINC1, QVELT, QVELT-1.
	* algebra/si.spad.pamphlet: Use %iinc and %idec forms.

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

	* interp/nruncomp.boot (NRTputInHead): Tidy.

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

	* interp/g-util.boot (expandListlit): Tidy.

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

	* interp/compiler.boot (compForm1): Use %listlit form.
	(compExpressionList): Likewise.
	(compCons1): Likewise.
	(compList): Likewise.
	(compVector): Likewise.
	* interp/g-timer.boot (timedEvaluate): Likewise.
	* interp/wi1.boot: Likewise.
	* interp/slam.boot: Likewise.
	* interp/nruncomp.boot: Likewise.
	* interp/i-object.boot: Likewise.
	* interp/g-opt.boot (optMkRecord): Likewise.
	(optRECORDCOPY): Likewise.
	(optLIST): Remove.
	(optListlit): New.
	* interp/g-util.boot (optListlit): New.  Expand %listlit forms.

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

	* interp/g-opt.boot (optMkRecord): Generate %makepair forms.
	($VMsideEffectFreeOperators): Include %listlit and %veclit.
	* interp/g-util.boot: Translate them.

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

	* algebra/array1.spad.pamphlet: Use %aref instead of %vref.
	* interp/g-opt.boot (optSETRECORDELT): Tidy code generation.
	(optRECORDCOPY): Likewise.
	(optRECORDELT): Likewise.
	($VMsideEffectFreeOperators): Include %aref.  Translate.

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

	* interp/vmlisp.lisp (FIXP): Remove.
	* interp/alql.boot: Use integer? instead of FIXP.
	* interp/br-con.boot: Likewise.
	* interp/br-op1.boot: Likewise.
	* interp/c-util.boot: Likewise.
	* interp/fnewmeta.lisp: Likewise.
	* interp/ht-root.boot: Likewise.
	* interp/i-analy.boot: Likewise.
	* interp/i-syscmd.boot: Likewise.
	* interp/i-toplev.boot: Likewise.
	* interp/interop.boot: Likewise.
	* interp/lisplib.boot: Likewise.
	* interp/mark.boot: Likewise.
	* interp/newfort.boot: Likewise.
	* interp/nrunfast.boot: Likewise.
	* interp/pspad1.boot: Likewise.
	* interp/setvars.boot: Likewise.
	* interp/showimp.boot: Likewise.
	* interp/slam.boot: Likewise.
	* interp/topics.boot: Likewise.
	* interp/trace.boot: Likewise.
	* interp/wi1.boot: Likewise.
	* interp/wi2.boot: Likewise.
	* interp/word.boot: Likewise.

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

	* interp/g-util.boot: Expand new bit vector operators.
	* interp/g-opt.boot (opt2bit): New.
	(opt2bool): Likewise.
	* interp/bits.lisp (BVEC-SIZE): Remove.
	(BVEC-COPY): Likewise.
	(BVEC-CONCAT): Likewise.
	(BVEC-EQUAL): Likewise.
	(BVEC-AND): Likewise.
	(BVEC-OR): Likewise.
	(BVEC-XOR): Likewise.
	(BVEC-NAND): Likewise.
	(BVEC-NOR): Likewise.
	(BVEC-NOT): Likewise.
	* algebra/boolean.spad.pamphlet (IndexedBits): Remove uses of
	Lisp-level functions.

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

	* interp/nrunfast.boot (evalSlotDomain): Expand to VM forms before
	value argument evaluation.
	(lazyMatch): Check for %llength too.
	* interp/g-opt.boot ($VMsideEffectFreeOperators): Include %2bit
	and %2bool.
	* interp/g-util.boot: Expand them.
	* interp/define.boot (compJoin): Check for %llenght too.
	* algebra/boolean.spad.pamphlet: Tidy.
	* algebra/domain.spad.pamphlet: Likewise.
	* algebra/draw.spad.pamphlet: Likewise.
	* algebra/files.spad.pamphlet: Likewise.
	* algebra/list.spad.pamphlet: Likewise.
	* algebra/outform.spad.pamphlet: Likewise.
	* algebra/sex.spad.pamphlet: Likewise.
	* algebra/sf.spad.pamphlet: Likewise.