2013-05-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	Eradicate attribute finiteAggregate.
	* algebra/aggcat.spad.pamphlet (HomogeneousAggregate): Remove
	exports conditional aatribute finiteAggregate.
	(TableAggregate): Remove spirous definitions.
	* algebra/stream.spad.pamphlet (LazyStreamAggregate): Put
	definitions for FiniteAgregate exports under appropriate condition.

2013-05-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/aggcat.spad.pamphlet (Aggregate) [#]: Remove export.
	(UnaryRecursiveAggregate):  Make definiton conditional.
	* algebra/stream.spad.pamphlet (LazyStreamAggregate): Likewise.

2013-05-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* interp/define.boot (compDefineFunctor1): Use the current
	instantiation form when adding modemaps from category.
	(partialSignature?): New.
	(refineDefinitionSignature): Use full completion from getSignature.
	* interp/compiler.boot (compIterator): Simplify.

2013-05-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* interp/define.boot (sourceMatches): New.
	(getDollarName): Likewise.
	(getSignature): Them.  Tidy.
	(setDollarName): New.
	(compDefineFunctor1): Use it.

2013-05-18  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* interp/define.boot (getSignature): Third parameter need not be fluid.

2013-05-18  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* interp/define.boot (getSignature): Tidy.

2013-05-18  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/cycles.spad.pamphlet (CycleIndicators) [nniBump]: New
	local function.
	[SFunction]: Use it.

2013-05-18  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/cycles.spad.pamphlet (CycleIndicators)
	[complete,alternating]:  Change input type to NonNegativeInteger.

2013-05-18  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* interp/define.boot (knownPred): Take a memo-table as third parameter.

2013-05-18  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/aggcat.spad.pamphlet (FiniteAgregate): Remove attribute
	finiteAggregate.

2013-05-18  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/aggcat.spad.pamphlet (Collection) [reduce]: Remove.
	Remove redundant defaults.

2013-05-18  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/aggcat.spad.pamphlet (HomogeneousAggregate): Move
	defaults for = and coerce to FiniteAggregate.  Remove the rest.

2013-05-18  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/aggcat.spad.pamphlet (FiniteAggregate) [reduce]: Add
	overloads.

2013-05-18  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/aggcat.spad.pamphlet (HomogeneousAggregate) [parts]: Remove.
	* algebra/permgrps.spad.pamphlet: Use members, not parts.

2013-05-18  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/aggcat2.spad.pamphlet: Use members, not parts.
	* algebra/algcat.spad.pamphlet: Likewise.
	* algebra/cden.spad.pamphlet: Likewise.
	* algebra/clifford.spad.pamphlet: Likewise.
	* algebra/divisor.spad.pamphlet: Likewise.
	* algebra/galfact.spad.pamphlet: Likewise.
	* algebra/lodof.spad.pamphlet: Likewise.
	* algebra/naalgc.spad.pamphlet: Likewise.
	* algebra/oderf.spad.pamphlet: Likewise.
	* algebra/rule.spad.pamphlet: Likewise.
	* algebra/space.spad.pamphlet: Likewise.
	* algebra/view3D.spad.pamphlet: Likewise.
	* algebra/zerodim.spad.pamphlet: Likewise.

2013-05-18  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/array1.spad.pamphlet: Define members, not parts.
	* algebra/array2.spad.pamphlet: Likewise.
	* algebra/bags.spad.pamphlet: Likewise.
	* algebra/list.spad.pamphlet: Likewise.
	* algebra/lmdict.spad.pamphlet: Likewise.
	* algebra/mset.spad.pamphlet: Likewise.
	* algebra/polset.spad.pamphlet: Likewise.
	* algebra/regset.spad.pamphlet: Likewise.
	* algebra/sets.spad.pamphlet: Likewise.
	* algebra/sregset.spad.pamphlet: Likewise.
	* algebra/string.spad.pamphlet: Likewise.
	* algebra/tree.spad.pamphlet: Likewise.
	* algebra/triset.spad.pamphlet: Likewise.
	* algebra/vector.spad.pamphlet: Likewise.

2013-05-18  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/aggcat.spad.pamphlet: Tidy.

2013-05-17  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/mset.spad.pamphlet (Multiset) [unique]: Rename from
	members to avoid semantics clash.

2013-05-17  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/aggcat.spad.pamphlet: Replace uses of parts by members.

2013-05-17  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/attreg.spad.pamphlet (AttributeRegistry): Remove
	shallowlyMutble.
	* algebra/aggcat.spad.pamphlet (BagAggregate): Extend
	ShallowlyMutableAggregate.
	(ExtensibleLinearAggregate): Likewise.
	* algebra/mset.spad.pamphlet (Multiset): Likewise.
	* algebra/tree.spad.pamphlet (Tree): Likewise.

2013-05-17  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/tree.spad.pamphlet(BinaryTreeCategory): Extend
	ShallowlyMutableAggregate S.
	(BinarySearchTree): Remove redundant shallowlyMutable attribute.
	(BalancedBinaryTree): Likewise.

2013-05-17  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/aggcat.spad.pamphlet (ShallowlyMutableAggregate): New.

2013-05-17  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/aggcat.spad.pamphlet (FiniteAggregate): More defaults.
	(Aggregate): Remove default implementation of empty?

2013-05-17  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/aggcat.spad.pamphlet (FiniteAggregate): Add default
	implementation for empty?.

2013-05-17  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/aggcat.spad.pamphlet (TableAggregate): Now extend
	FiniteAggregate Record(key:Key,entry:Entry).
	* algebra/files.spad.pamphlet (KeyedAccessFile): Remove
	finiteAggregate attribute.
	* algebra/table.spad.pamphlet (HashTable): Likewise.
	(InnerTable): Likewise.
	(Table): Likewise.

2013-05-16  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/aggcat.spad.pamphlet (KeyedDictionary): Now extend
	IndexedAggregate too.  Give default implementation for elt.
	(TableAggregate): Simplify.

2013-05-16  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/ffp.spad.pamphlet (FiniteFieldExtensionByPolynomial)
	[tableForDiscreteLogarithm]:  Don't use pretend where checked
	coercion is intended.
	* algebra/pf.spad.pamphlet (InnerPrimeField)
	[tableForDiscreteLogarithm]:  Likewise.

2013-05-16  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/aggcat.spad.pamphlet (AssociationListAggregate) [assoc]:
	Change return type to instance of Maybe.
	* algebra/list.spad.pamphle (AssociationList): Reflect change.

2013-05-16  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/sortpak.spad.pamphlet (SortPackage): Have second
	parameter satisfy FiniteAggregate A instead of requiring attribute
	finiteAggregate.
	* algebra/array2.spad.pamphlet (TwoDimensionalArrayCategory): Now
	extends FiniteAggregate.  Remove finiteAggregate attribute.

2013-05-16  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/polset.spad.pamphlet (GeneralPolynomialSet): Remove
	redundant FiniteAggregate.
	* algebra/triset.spad.pamphlet (TriangularSetCategory): Likewise.

2013-05-16  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/aggcat.spad.pamphlet (FiniteAggregate): Temporarily
	include attribute finiteAggregate.
	(StackAggregate): Extend category FiniteAggregate instead of
	attribute finiteAggregate.
	(QueueAggregate): Likewise.
	(PriorityQueueAggregate): Likewise.
	(FiniteSetAggregate): Likewise.
	* algebra/lmdict.spad.pamphlet (ListMultiDictionary): Likewise.
	* algebra/matcat.spad.pamphlet (MatrixCategory): Likewise.
	* algebra/mset.spad.pamphlet (Multiset): Likewise.
	* algebra/newdata.spad.pamphlet (SplittingTree): Likewise.
	* algebra/polset.spad.pamphlet (PolynomialSetCategory): Likewise.
	* algebra/tree.spad.pamphlet (Tree): Likewise.
	(BinaryTreeCategory): Likewise.
	* algebra/triset.spad.pamphlet (TriangularSetCategory): Likewise.
	* algebra/vector.spad.pamphlet (DirectProductCategory): Likewise.

2013-05-16  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/data.spad.pamphlet (Byte): Remove redundant
	finiteAggregate attribute.
	* algebra/tree.spad.pamphlet (BinaryTreeCategory): Likewise.
	(BinarySearchTree): Likewise.
	(BalancedBinaryTree): Likewise.

2013-05-15  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/aggcat.spad.pamphlet (FiniteAggregate): New.
	* algebra/exposed.lsp.pamphlet: Expose it.

2013-05-15  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* interp/compiler.boot (unknownTypeError): Simplify.
	* interp/define.boot (dbClearForCompilation!): Clear more fields.

2013-05-15  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* interp/compiler.boot (comp2): Leave categories alone.

2013-05-15  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* interp/compiler.boot (comp2): Don't test for $bootStrapMode.

2013-05-15  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* interp/daase.lisp (dbDocumentation): New accessor.

2013-05-15  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* interp/define.boot (dbClearForCompilation!): New.
	(compDefineFunctor1): Use it.

2013-05-15  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* interp/nruncomp.boot (NRTputInHead): Tidy.

2013-05-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* interp/g-opt.boot (quoteMode): New.
	(optRetract): Use it.
	(optPullback): Likewise.

2013-05-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* interp/define.boot (checkAndDeclare): Constructor parameter
	shadowing.
	* algebra/lodof.spad.pamphlet (SetOfMIntegersInOneToN): [enum]:
	Lose last parameter.  Adjust callers.

2013-05-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* interp/c-util.boot (cleanParameterList!): New.
	* interp/define.boot (spadCompileOrSetq): Use it.

2013-05-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/array2.spad.pamphlet (TwoDimensionalArrayCategory):
	Remove redundant declaration for parts.

2013-05-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/array2.spad.pamphlet (TwoDimensionalArrayCategory): Test
	for BasicType satisfaction instead of existence of =.

2013-05-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/array2.spad.pamphlet (InnerTwoDimensionalArray) [map]:
	Move implementation from TwoDimensionalArrayCategory.

2013-05-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/array2.spad.pamphlet (TwoDimensionalArrayCategory): Move
	defaults to InnerTwoDimensionalArray.

2013-05-14  Edi Meier  <liste_franken@gmx.de>

	* graph/include/G.h (GCstruct::GCchar): Increase length to 12.

2013-05-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/array2.spad.pamphlet (InnerTwoDimensionalArray)
	[row, column]: Fix off-by-one thinko.

2013-05-13  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/array2.spad.pamphlet (TwoDimensionalArrayCategory): Move
	row column implementation to InnerTwoDimensionalArray.
	(InnerTwoDimensionalArray): Simplify row and column implementation.

2013-05-13  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/array2.spad.pamphlet (InnerTwoDimensionalArray): Inherit
	empty? and empty from base domain.
	(TwoDimensionalArray): Attribute shallowlyMutable is already
	specified by TwoDimensionalArrayCategory.
	* algebra/matcat.spad.pamphlet (MatricCategory): Attributes
	shallowlyMutable and finiteAggregate are already specified by
	TwoDimensionalArrayCategory.

2013-05-13  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/array1.spad.pamphlet (IndexedOneDimensionalArray): Tidy.

2013-05-13  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* interp/g-opt.boot (%array2list): New side-effect free opcode.
	* interp/lisp-backend.boot: Expand it.
	* algebra/array1.spad.pamphlet (PrimitiveArray): Implement
	maxIndex, parts, and members.

2013-05-12  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/vector.spad.pamphlet (IndexedVector): Remove.
	(Vector): Use OneDimensionalArray as base domain for implementation.
	* algebra/Makefile.am: Update.

2013-05-12  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/carten.spad.pamphlet (CartesianTensor): Use
	PrimitiveArray in lieu of 0-based IndexedVector.

2013-05-12  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* interp/database.boot (getConstructorModemap): Revert previous change.

2013-05-11  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/matrix.spad.pamphlet (RectangularMatrix) [ZERO]: Remove.
	(SquareMatrix) [ZERO, ONE]: Likewise.

2013-05-11  Gabriel Dos Reis  <gdr@integrable-solutions.net>
	    Waldek Hebisch  <hebisch@math.uni.wroc.pl>

	* algebra/catdef.spad.pamphlet (OrderedRing): Extend
	CharactericZero too.

2013-05-11  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/array2.spad.pamphlet (InnerTwoDimensionalArray): Rename
	from InnerIndexedTwoDimensionalArray.  Adjust users.

2013-05-11  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* interp/database.boot (getConstructorModemap): Try to load fresh
	module first before looking into cached database data.
	* algebra/Makefile.am (oa_algebra_layer_11): Remove IARRAY2.
	* algebra/array2.spad.pamphlet (InnerIndexedTwoDimensionalArray):
	Drop starting index parameters.  Tidy.  Adjust users.
	(IndexedTwoDimensionalArray): Remove as unused.

2013-05-11  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/array2.spad.pamphlet: Clean up.

2013-05-11  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/indexedp.spad.pamphlet
	(IndexedDirectProductAbelianMonoid) [opposite?]: Implement.

2013-05-10  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/matrix.spad.pamphlet (IndexedMatrix): Remove as unused.
	* algebra/Makefile.am (oa_algebra_layer_12): Remove IMATRIX.

2013-05-10  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* interp/g-opt.boot (optEmptyArray): New expander.  Register.
	(optSimpleArray): Likewise.
	(optList2Array): Likewise.
	* interp/lisp-backend.boot: Expand %elementType, %initialElement,
	%initialContents, %array, %type2form opcodes.
	* algebra/array1.spad.pamphlet (PrimitiveArray): Tidy.

2013-05-10  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/indexedp.spad.pamphlet
	(IndexedDirectProductOrderedAbelianMonoid) [<]: Rewrite iteratively.

2013-05-10  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/catdef.spad.pamphlet (AbelianMonoid) [opposite?]: New.
	(Rng)[annihilate?]: New.
	(EntireRing) [annihilate?]: Implement.
	* algebra/integer.spad.pamphlet (Integer): Implement new exports.

2013-05-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* interp/lexing.boot (Keywords): Add "do".
	* interp/spad-parser.boot (parseBlock): New.
	(parseDo): Likewise.  Register for do-statements.
	* interp/compiler.boot (compDo): New.  Handle do-statements.

2013-05-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/indexedp.spad.pamphlet (IndexedDirectProductObject)
	[combineWithIf]: New.

2013-05-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* interp/i-special.boot (evalIF): Generate OIL intermediate
	instruction %otherwise, not Lisp expression T.
	* interp/slam.boot (isRecurrenceRelation): Likewise.

2013-05-08  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/list.spad.pamphlet (List) [copy]: Simplify.
	* interp/g-opt.boot (%lcopy): New side-effect free builtin.
	* interp/lisp-backend.boot: Translate it.

2013-05-08  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* interp/c-util.boot (almostPure?): New.
	(foldExportedFunctionReferences): Use it.

2013-05-07  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/vector.spad.pamphlet (LinearElement) [corodinates]: Tidy.
	(LineraForm) [coordinates]: Likewise.

2013-05-07  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/indexedp.spad.pamphlet (IndexedDirectProductCategory):
	Now extends ConvertibleFrom IndexedProductTerm(A,S).
	(IndexedDirectProductObject): Simplify.
	(IndexedDirectProductAbelianMonoid): Tidy.
	(IndexedDirectProductOrderedAbelianMonoid): Likewise.

2013-05-07  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/indexedp.spad.pamphlet (IndexedProductTerm): New domain.

2013-04-07  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* gui/widget.h: Remove.  Qt's meta object system does no play nice
	with modern C++ idioms.

2013-04-07  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* utils/command.cc (args_count): New.
	(execute_core): Use it.  Tidy.
	(Arguments::Arguments): Tidy.

2013-04-06  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* gui/server.h: New.
	* gui/server.cc: Likewise..
	* gui/gui.pro.in (HEADERS): Update.
	(SOURCES): Likewise.

2013-04-05  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* include/token.H: New.
	* syntax/token.cc: Likewise.
	* syntax/Makefile.am: Likewise.
	* Makefile.am (DIST_SUBDIRS): Add syntax.
	(oa_src_include_headers): Add Input.H, token.H.

2013-04-04  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* algebra/Makefile.am: New.
	* algebra/Makefile.in: Generate content from Makefile.am.

2013-04-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* include/Input.H: New.
	* include/defaults.H: Likewise.
	* include/iterator.H: Likewise.
	* include/structure.H: Likewise.
	* io/Input.cc: Likewise.
	* Makefile.am (DIST_SUBDIRS): Include io.
	(subdirs): Likewise.
	(oa_src_include_headers): New.
	(all-headers): New rule.
	(mostlyclean-local): Remove target include directory too.
	* gui/gui.pro.in: Update with new dependency.

2013-04-02  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* gui/conversation.h (Question::leaveEvent): Remove.
	(Question::focusOutEvent): Likewise.
	* gui/conversation.cc: Remove corresponding definitions.

2013-04-02  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* gui/conversation.cc (font_units): Rename from em_metrics.
	Adjust callers.
	(Answer::Answer): Use raised frame style.

2013-03-31  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* lib/sockio-c.c (get_float): Remove unused local variable val.
	* lib/pixmap.c (read_pixmap_file): Remove unused local variable status.
	* lib/openpty.c (makeNextPtyNames): Guard declaration by CPP macro.
	* lib/fnct_key.c (define_function_keys): Remove unused local
	variable saved_echo.
	* lib/XSpadFill.c (XInitSpadFill): Remove unused local variable
	maxDither.
	* graph/viewman/fun2D.c (funView2D): Remove declaration of unused
	local variable code.
	* graph/viewman/fun3D.c (funView3D): Likewise.

2013-03-31  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* interp/pile.boot (insertpile): Tidy.
	(pilePlusComments): Likewise.
	(pileTree): Likewise.
	(eqpileTree): Likewise.