1999-01-23  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* InputStream.m ([InputStream_c -getExpr]): Raise an event
	instead of aborting.  Treat :keyword like #:keyword.

	* ListShuffler.m: Use raiseEvent() instead of raiseEvent:.

1999-01-21  Marcus G. Daniels  <mgd@chama.santafe.edu>

	* Map.m ([Map_c -_lispOut_:deep:]): Don't print #:compare-function
	when none set.

1999-01-20  Marcus G. Daniels  <mgd@chama.santafe.edu>

	* Makefile.am (CURRENT): Bump.

	* Map.m (GROUP_KEYS, GROUP_VALUES): New macros for string reuse.
	([Map_c -allSameKeyClass]): New method.
	([Map_c -allSameClass]): Use it.
	([Map_c -allStringKeys]): New method.
	([Map_c -hdf5OutDeep:]): Use it, handle String keys.
	([Map_c -hdf5In:]): Handle String case.
	
	* StringObject.[hm]: Remove hdf5OutDeep:.

1999-01-19  Marcus G. Daniels  <mgd@chama.santafe.edu>

	* Map.m (hdf5_store_compare_function_attribute): New function.
	([Map_c hdf5OutDeep:], [Map_c hdf5OutShallow:]): Use it.
	([Map_c hdf5In:]): Implement shallow loading.

	* List.[hm]: Move HDF5 stuff from Collections.

	* List.[hm], Map.[hm], StringObject.[hm]: Switch from
	{lisp,hdf5}Out:deep: to
	{lisp,hdf5}OutShallow:.  (Deep is avoided in Archiver.)

	* Map.m ([Map_c hdf5Out:deep]): Don't compute anything for call
	to -setRowNameLength: and don't call it.
	([Map_c -hdf5InCreate:]): New method.
	(setCompareFunctionByName): New function.
	([Map_c -lispInCreate:], [Map_c -hdf5InCreate:]): Use it.
	([Map_c -hdf5Out:deep:]): Check compareFunc before checking
	if key is a string (an object).
	([Map_c -hdf5In:]): Implement deep loading and shallow/deep keys.

	* List.m ([List_any -hdf5In:]): New method.
	
	* Array.[hm], collections.h ([Array_c -setCount:]): Return self.

	* Collection.m, Map.m ([... hdf5Out:deep:]): For dataset,
	set compoundType and count separately.

1999-01-18  Marcus G. Daniels  <mgd@chama.santafe.edu>

	* Collection.m, Map.m ([... hdf5Out:deep:]): Set componentType
	from member prototype.

1999-01-17  Marcus G. Daniels  <mgd@chama.santafe.edu>

	* Collection.m, Map.m, String.m (hdf5Out:deep:): 
	Use setClass: instead of setSourceClass: and setCompoundType:count:
	instead of setRecordType:count: (renames).
	Call writeRowNames:.

	* Map.m ([... hdf5Out:deep:]): Set typeName to Map member
	type, not Map. 

	* Collection.m, Map.m, String.m ([... hdf5Out:deep:]): Use
	getTypeName instead of name.  

	* Map.m ([Map_c -lispOut:deep:]): Likewise.

	* List.m ([List_any -lispOut:deep:]): Likewise.

	* StringObject.m ([String_c -lispOut:deep:]): Use getTypeName
	instead of literal String.

1999-01-16  Marcus G. Daniels  <mgd@chama.santafe.edu>

	* Collection.m, Map.m ([... hdf5Out:deep:]): Set createFlag.
	
1999-01-15  Marcus G. Daniels  <mgd@chama.santafe.edu>

	* collections.h (String): setLiteralFlag:getLiteralFlag

	* StringObject.[hm] ([String_c -getCount], [String_c -count], 
	[String_c -length]): Return unsigned.
	([String_c -lispIn:], [String_c -lispOut:deep:],
	[String_c -hdfIn:], [String_c -hdfOutOut:deep:): New methods.

	* StringObject.m: ([String_c -out:]): Remove.

	* List.[hm]: Make getCountPerBlock return unsigned.

	* InputStream.m: Include StringObject.h.

	* Map.m ([Map_c -hdf5Out:deep:]): Use storeAttributes:value: to
	save a compare function attribute.  Add support for non-object
	keys.
	
1999-01-14  Marcus G. Daniels  <mgd@chama.santafe.edu>

	* Map.m, collection.h (compareCStrings): New function.
	([Map_c -lispOut:deep:], [Map_c -lispInCreate:]): Add support
	for c-strings.
	(COMPARE_{FUNCTION,INT,UNSIGNED,CSTRING,ID}: New macros.
	([Map_c -lispInCreate:], [Map_c -lispOut:deep:]): Use them.
	([Map_c -lispOut:deep:]): Abort if unknown compareFunc.

	* Map.h (compareIDs, compareIntegers, compareUnsignedIntegers,
	compareCStrings): Declare.
	
	* Map.m ([Map_c -lispOut:deep:], [Map_c -hdf5Out:deep:]): Use DSIZE.
	([Map_c -hdf5Out:deep:]): Handle compareFunc of integers differently
	from IDs.

	* Collections.m ([Collection_any -hdf5Out:deep:]): Use DSIZE.

1999-01-14  Alex Lancaster  <alex@santafe.edu>

	* Map.m ([Map_c -lispOut:deep:]): compareUnsigned ->
	compareUnsignedIntegers

1999-01-14  Marcus G. Daniels  <mgd@chama.santafe.edu>

	* Map.m, collections.h (compareUnsignedIntegers): New function.
	([Map_c -lispOut:deep:], [Map_c -lispInCreate:]): Handle
	compareUnsignedIntegers case.

	* Collection.[hm], Map.[hm]: Always declare hdf5Out:deep:. Don't
	include swarmconfig.h.  Call hdf5_not_available when HAVE_HDF5 not
	defined.  

	* Collection.m, Map.m: Implement deep serialization for 
	hdf5Out:deep:.

1999-01-13  Marcus G. Daniels  <mgd@chama.santafe.edu>

	* Map.[hm]: Include swarmconfig.h.
	([Map_c -allSameClass], [Map_c -hdf5Out:deep:]): New methods.

	* Collection.[hm]: Include swarmconfig.h.
	([Collection_any hdf5Out:deep:]): New method.

	* Collection.m ([Colleciton_any hdf5Out:deep:]): Call
	numberRecord: on dataset.

1999-01-12  Marcus G. Daniels  <mgd@chama.santafe.edu>

	* Collection.[hm], collections.h ([Collection_any -allSameClass]):
	New method.

1999-01-12  Vladimir Jojic  <vjojic@wijiji.santafe.edu>

	* collections.h (PermutedIndex):  -reshuffle

	* Permutation.[hm] ([PermutationItem_c -describe:]): New method

	* Collection.[hm] ([PermutedIndex -reshuffle]): New method.

1999-01-10  Marcus G. Daniels  <mgd@chama.santafe.edu>

	* List.[hm] ([List_any -lispOut:deep:]): Renamed from lispOut:; added
	deep serialization boolean option.

	* Map.[hm]: Likewise.

1999-01-09  Marcus G. Daniels  <mgd@chama.santafe.edu>

	* InputStream.m ([InputStream_c -getExpr]): Handle nil and Nil
	as an ArchiverValue.
	([ArchiverArray_c -setArray:]): Handle arrays of type id.

	* InputStream.[hm], collections.h ([ArchiverValue_c -setNil],
	([ArchiverValue_c -getObject]): New methods.

	* InputStream.[hm] (ArchiverValue_c): Rename number to value.

1999-01-08  Marcus G. Daniels  <mgd@chama.santafe.edu>

	* List.m ([List_any -lispOut:]): Use MAKE_INSTANCE_FUNCTION_NAME
	instead of MAKE_OBJC_FUNCTION_NAME.

	* Map.m ([Map_c -lispOut:]): Likewise.

1999-01-06  Alex Lancaster  <alex@santafe.edu>

	* collections.h (PermutationItem): եȥɥơʸɲá

1999-01-06  Marcus G. Daniels  <mgd@chama.santafe.edu>

	* List_GEN.m ([TINDEX -setOffset:]): Cast count to int.

	* collections.h (PermutationItem): ץȥ롣
	(PermutedIndex): 󹹿

	* collections.m (_collections_implement): Setup PermutationItem.

	* Collection.m: Include Permutation.h and collections.h.
	([PermutedIndex_c -next], [PermutedIndex_c -prev]): Use
	PermutationItem to get item.  Skip over removed items.
	([PermutedIndex_c -findNext:], [PermutedIndex_c -findPrev:],
	[PermutedIndex_c -get]): Get item via PermutedItem.
	([PermutedIndex_c -put:]): Use atOffset:put: with
	PermutedItem's offset. 
	([PermutedIndex_c -remove]): Use indexAtOffset with PermutedItem's
	offset to remove item.
	([PermutedIndex_c -getLoc]): Use PermutedItem to get position and
	return Removed if position is < 0, otherwise use result of 
	getLoc on internal index.

	* Permutation.m: Include collections.h.
	([Permutation_c -mapAllocations:mapalloc]): Map over internal
	PermuteItems.

	* Permutation.h ([Permutation_c -mapAllocations:mapalloc]): Declare.

	* Permutation.[hm] ([Permutation_c -getCollection]): Add.
	([Permutation_c -generatePermutation]): Remove.

	* Permutation.[hm] (PermutationItem_c): New class.

1998-12-29  Marcus G. Daniels  <mgd@chama.santafe.edu>

	* Array.m (initArray): Make copyCount unsigned.
	([Array_c -atOffset:]): Cast count to int for comparison with
	offset.
	([Array_c -atOffset:put:]): Likewise.
	([ArrayIndex_c -setOffset:]): Likewise.

	* Collection.m (indexAtOffset): Cast count to int for comparison with
	offset.

1998-12-28  Marcus G. Daniels  <mgd@chama.santafe.edu>

	* List_GEN.m ([TARGET -_createPermutedIndex_:forIndexSubclass:]): 
	Use -setCollection: instead of +createBegin:forCollection:.

	* collections.h: ٤Ƥcountunsignedѹ
	(PermutedIndex): generatePermutation
	(ArchiverKeyword, ArchiverArray, ArchiverValue,
	ArchiverPair): ץȥ복פӵʸɲá

	* Permutation.m ([Permutation_c -createEnd]): Check for a 
	collection and generatePermutation when finished.

	* Permutation.[hm], collections.h: Remove
	+createBegin:forCollection:. Add setCollection:.

	* Collection.m ([Collection_any -beginPermuted:aZone]): Use 
	setCollection: instead of removed +createBegin:forCollection:.
	([PermutedIndex_c +createBegin:]): Likewise.
	([PermutedIndex_c generatePermutation]): Remove.

	* Collection.h: Change count arguments from int to unsigned.
	Declare setCollection: and setUniformRandom:.  Don't
	declare generatePermutation.

	* Array.[hm]: Change count arguments from int to unsigned.

1998-12-26  Marcus G. Daniels  <mgd@chama.santafe.edu>

	* collections.h (Collection): -beginPermuted:
	(PermutedIndex): generatePermutation

	* Collection.m ([Collection_any -beginPermuted:]): Eliminate
	temporary variable.

1998-12-22  Vladimir Jojic  <vjojic@wijiji.santafe.edu>

	* Collection.h (PermutedIndex_c): Remove +createBegin:.
	(PermutedIndex_c): Add +createBegin:forCollection:.

	* Collection.m ([Collection_any -beginPermuted:aZone]): 
	Modify to support new PermutedIndex class.
	([PermutedIndex_c +createBegin:]): Remove.
	([PermutedIndex_c +createBegin:forCollection:]): Add.
	([PermutedIndex_c -createEnd]): Modify to support new Permutation 
	class.
	([PermutedIndex_c -setUniformRandom:]): Allow setting of 
	distribution of the shuffler used to generate Permutation.
	([PermutedIndex_c -generatePermutation]): Modify to support new 
	Permutation class.
	([PermutedIndex_c -next]): Delegate the message to the index 
	operating on Permutation.
	([PermutedIndex_c -prev]): Likewise.
	([PermutedIndex_c -findNext:]): Likewise.
	([PermutedIndex_c -findPrev:]): Likewise.
	([PermutedIndex_c -get]): Likewise.
	([PermutedIndex_c -getLoc]): Likewise.
	([PermutedIndex_c -setLoc:]): Likewise.
	([PermutedIndex_c -getOffset]): Likewise.
	([PermutedIndex_c -setOffset:]): Likewise.
	([PermutedIndex_c -put:]): Disable. Raise an SourceMessage error.
	([PermutedIndex_c -remove]): Likewise.
	([PermutedIndex_c -mapAllocations:mapalloc]): Drop permutation along
	with the PermutedIndex.

	* Permutation.m ([Permutation_c +createBegin:forCollection:]):
	Rename +createBegin: to +createBegin: forCollection:. 
	([Permutation_c -createEnd:]): Initialize Permutation with the
	ids instead of integers.
	([Permutation_c -setMaxElement:): Remove.
	([Permutation_c -setMinElement:): Remove.

	* Permutation.h (Permutation_c): Change Permutation_c to hold
	ids of the objects instead of the integers representing offsets.
	(Permutation_c): Remove methods setMaxElement: and setMinElement: 
	and instance variables maxElement and minElement. 
	(Permutation_c): Remove +createBegin:. 
	(Permutation_c): Add +createBegin: forCollection:.

	* collections.h: PermutationPermutedIndexεҤ򹹿

	* List_GEN.m ([TARGET -_createPermutedIndex_:forIndexSubclass:]): 
	Modify to support new PermutedIndex_c class.

1998-12-21  Marcus G. Daniels  <mgd@chama.santafe.edu>

	* StringObject.m: Don't include assert.h.
	([String_c +create:setC:]): Don't use assert on argument.

	* Array.m, OutputStream.m: Include misc.h instead of memory.h.

1998-12-18  Marcus G. Daniels  <mgd@chama.santafe.edu>

	* collections.h, Map.[hm] ([Map -setCompareFunction:]): Return self.
	(OrderedSet, Set): Don't adopt KeyedCollection.

1998-12-17  Marcus G. Daniels  <mgd@chama.santafe.edu>

	* collections.h (Index): CopyץȥϺԲġ
	(KeyedCollection): -createIndex:setMember:-createIndex:at:
	(ListShuffler): +create:withUniformRandom:
	CREATABLECreateԲġ

	* StringObject.h (String_c): Implement String protocol.

	* Set.h (Set_c): Implement Set protocol.
	(SetIndex_c): Implement KeyedCollectionIndex.

	* OutputStream.h (OutputStream_c): Implement OutputStream protocol.

	* OrderedSet.m (OrderedSetIndex_c): Add Creating and Using
	tags.

	* OrderedSet.h (OrderedSet_c): Implement OrderedSet protocol.
	(OrderedSetIndex_c): Implement KeyedCollectionIndex protocol.

	* Map.[hm] ([Map_c -createIndex:fromKey:]): Remove.
	([Map_c -getCompareFunction]): Add.
	(MapIndex): Add Using tag.

	* Map.h (Map_c): Implement Map protocol.
	(MapIndex_c): Implement MapIndex protocol.

	* List_GEN.m (TARGET, TINDEX): Add Creating and Using tags.

	* List_GEN.h (TARGET): Implement List protocol.
	(TINDEX): Implement Index protocol.

	* ListShuffler.h: Include collections.h.
	(ListShuffler_c): Implement ListShuffler protocol.

	* InputStream.h (InputStream_c): Implement InputStream protocol.

	* Array.m (ArrayIndex): Add Creating and Using phase tags.

	* Collection.h (Collection_any): Implement Collection protocol.
	(Index_any): Implement Index protocol. 
	(PermutedIndex_c): Implement PermutedIndex protocol and inherit
	from Index_any. Remove collection ivar.

	* Collection.[hm] (Collection_any): Remove getReadOnly. 
	Add copy: and begin: stubs.
	(Index_any): Add Creating tag.
	Add setOffset:, getOffset, setLoc:, put:, remove, prev, and next
	stubs.
	(PermutedIndex_c): Add Creating and Using tags.

	* Array.h (Array_c): Implement Array protocol.
	(ArrayIndex_c): Implement Index protocol.

1998-12-15  Vladimir Jojic  <vjojic@wijiji.santafe.edu>

	* Permutation.m ([Permutation_c +createBegin:]): Use component zone 
	for internal objects of Permutation.

	* Collection.m ([PermutedIndex_c -mapAllocations:mapalloc]): 
	Remove return self.
	([PermutedIndex_c -createEnd]): Use component zone for internal
	objects of PermutedIndex.

	* Permutation.m ([Permutation_c -mapAllocations:mapalloc]): 
	Likewise
	

	* Collection.m ([PermutedIndex_c -mapAllocations:mapalloc]): 
	Cast mapAllocations: as void.

	* Permutation.m ([Permutation_c -mapAllocations:mapalloc]): 
	Likewise.

1998-12-14  Vladimir Jojic  <vjojic@wijiji.santafe.edu>

	* Collection.m ([PermutedIndex_c -mapAllocations:mapalloc]): 
	mapAllocations: implemented.
	([PermutedIndex_c -createEnd]): Add setMappedAlloc.

	* Collection.h: Add mapAllocations: method to PermutedIndex_c.

	* ListShuffler.m: Declare uniformUnsRandom to avoid linking problems.
	([ListShuffler_c -createEnd]): Add setNextPhase.

	* Permutation.m ([Permutation_c -mapAllocations:mapalloc]): 
	mapAllocations: implemented.

	* Permutation.h: Add mapAllocations method.
	
1998-12-14  Marcus G. Daniels  <mgd@chama.santafe.edu>

	* ListShuffler.[hm], collections.h ([ListShuffler_c
	-setUniformRandom:]): Return self instead of nothing.

	* ListShuffler.[hm], collections.h ([ListShuffler_c
	-shufflePartialList:Num:]): Make num argument unsigned. 

	* Permutation.[hm], collections.h ([Permutation_c
	-setMinElement:]): ([Permutation_c -setMaxElement:]): Take
	unsigned as argument instead of int and return self instead of
	nothing.

	* ListShuffler.m ([ListShuffler_c -shufflePartialList:Num:]): Make
	j, k and m unsigned.
	([ListShuffler_c -shuffleWholeList:]): Make j and k unsigned.
	
	* Permutation.m [Permutation_c -createEnd]): Use unsigned instead
	of int for i.  Send setCount: and atOffset: to self instead of super.
	([Permutation_c -describe:]): Make elem unsigned and sprintf
	format %u instead of %d.

	* collections.m (_collections_implement): Associate ListShuffler_c
	and ListShuffler.

	* collections.h (ListShuffler): CreateDropCREATABLEѡ

	* Makefile.am (INCLUDES): Add random.

	* ListShuffler.m: Include random.h, not random/random.h.  Don't
	include simtools.h. 
	([ListShuffler_c +createBegin:]): Remove. 

1998-12-12  Marcus G. Daniels  <mgd@chama.santafe.edu>

	* Makefile.am (module_headers): Add collections.xm.

1998-12-11  Marcus G. Daniels  <mgd@chama.santafe.edu>

	* Permutation.[hm]: New files.

1998-12-11  Vladimir Jojic  <vjojic@wijiji.santafe.edu>

	* Array.h (ArrayIndex_c): setOffset returns id. 

	* Array.m ([ArrayIndex_c -setOffset:]): setOffset modified to
	return object at offset.

	* Collection.h (Collection_any): Add method beginPermuted: 
	(PermutedIndex): New class for randomized traversal of a collection.

	* Collection.m ([Collection_any -beginPermuted:aZone]): New method
	used for creation of a PermutedIndex over any collection.	
	(PermutedIndex_c): New class that allows randomized traversal of any
	collection.

	* List_GEN.h:Add method _createPermutedIndex_:forIndexSubclass: 

	* List_GEN.m ([TARGET -_createPermutedIndex_:forIndexSubclass:]): 
	New method that supports creation of PermutedIndex that operates
	on top of an arbitrary ListIndex subclass.

	* Map.h (Map_c): Add method _createPermutedIndex_:forIndexSubclass:

	* Map.m ([Map_c -_createPermutedIndex_:forIndexSubclass:]): 
	New method that suports creation of PermutedIndex that  
	operates on top of an arbitrary MapIndex subclass.

	* collections.m (_collections_implement): Permutation and 
	PermutationIndex class objects added.

	* collections.h (ListShuffler): ListShufflerץȥsimtoolscollections˰ư

1998-12-01  Marcus G. Daniels  <mgd@chama.santafe.edu>

	* collections.h (Index): End֤ʤ褦ѹ

1998-11-19  Vladimir Jojic  <vjojic@wijiji.santafe.edu>

	* Map.m ([Map_c -createIndex:fromMember:]): implemented as
	linear search

1998-11-19  Marcus G. Daniels  <mgd@chama.santafe.edu>

	* Map.m ([Map_c -lispIn:]): Remove ARCHIVERLITERAL handling; all
	pairs are the same.
	([Map_c -lispOut:]): Output (cons key value) instead of '(key . value).
	
	* InputStream.m ([InputStream_c -getExpr]): Convert (key . value)
	to ArchiverPair.  Skip "'"; don't make a (quote x) type datastructure.
	Treat (cons x y) the same as '(x . y).

	* InputStream.[hm] (ArchiverPair_c), collections.h,
	collections.m (_collections_implement): New type.

	* predicates.[hm] (cons_literal_p, list_literal_p, symbolp, pairp):
	New predicates.

1998-11-18  Marcus G. Daniels  <mgd@chama.santafe.edu>

	* List.m ([List_any -getCountPerBlock]): abort instead of exit.

	* collections.h (List): ˤ᥽åɤϺΤΤǤϤʤΤǡUSINGեȤƥޡ

1998-11-17  Marcus G. Daniels  <mgd@chama.santafe.edu>

	* InputStream.[hm] (InputStream): New method setBoolean:
	and getBoolean.  Handle #f and #t from input.

	* Collection.m ([Collection_any -_lispInAttr_:]): New method for
	shared create-time expression option parsing. 
	[Collection_any -_lispOutAttr_:]): New using-time expression option
	output method.  Both are for subclass use.
	
	* List_GEN.m: Reformatting throughout.  New macros COUNT,
	FIRST, and FIRSTPREV to simplify code.

	* List.m ([List_any -lispIn:], [List_any -lispInCreate:], 
	[List_any -lispOut:]): New methods.  InitialValueSet not yet
	handled because a copy of that list is not saved from create-time.

	* Map.m ([Map_c -lispIn:], [Map_c -lispOut:], [Map_c
	-lispInCreate): New methods.  Support compareIntegers
	and compareIDs.  lispIn: pending for InputStream support of
	pair syntax (and conversion to expr Map).

	* List.h (List_any): Conform to Serialization protocol.
	Declare -lispIn: and -lispOut:.

	* Map.h (Map_c): Likewise.

	* collections.h (List, Map): Serializationץȥѡ
	(ArchiverValue): setBoolean:getBooleanɲá

	* Collection.[hm], Map.[hm]: Reformatting throughout.

1998-11-16  Marcus G. Daniels  <mgd@chama.santafe.edu>

	* predicates.[hm] (keywordp, valuep, arrayp): New predicates.

	* InputStream.m: Include misc.h instead of stdio.h and ctype.h
	Include predicates.h.
	([InputStream_c -getExpr]): Don't require leading 0 on octal
	numbers.  Handle negative values.  

	* InputStream.[hm] (ArchiverKeyword_c,
	ArchiverArray_c, ArchiverValue_c): New classes.

	* collections.h: бץȥɲá

	* collections.m (_collections_implement): Associate them.

1998-11-15  Marcus G. Daniels  <mgd@chama.santafe.edu>

	* InputStream.m ([InputStream_c -_unexpectedEOF_], 
	[InputStream_c -_badType_:]): Raise an event instead of aborting.
	Change return type to void.
	([InputStream_c -getExpr]): Add support for keyword and array
	loading.

1998-11-12  Marcus G. Daniels  <mgd@chama.santafe.edu>

	* OutputStream.[hm]: Remove -appendC:.

1998-11-11  Marcus G. Daniels  <mgd@chama.santafe.edu>

	* Array.[hm] ([Array_c +create:setMemberAlloc:setCount:],
	[Array_c -getMemberAlloc]
	[Array_c -setMemberAlloc:setCount:]): Remove.

	* collections.h: ᥽åɤǤ¸ߤᡢä-setDefaultMember:

1998-11-02  Marcus G. Daniels  <mgd@chama.santafe.edu>

	* collections.h (Collection): ԡǤ뤳Ȥ

1998-10-10  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* Makefile.am (REVISION): Increment.  Swarm 1.3.1 released.

	* OrderedSet.m: Reformatting throughout.
	([OrderedSet_c -contains:]): Return YES and NO instead of 1 and 0.  

	* collections.h (Sorted): ߷ץɥȤ˰ư
	
	* StringObject.m ([String_c +create:setC:]): Use getZone instead
	of argument aZone for allocating string space.

1998-09-08  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* Map.[hm]: ([MapIndex_c -setLoc:]): 
	Make argument to setLoc: of type id <Symbol>.

	* Set.[hm] ([SetIndex_c -setLoc:]): Likewise.

	* List_GEN.[hm] ([TINDEX -setLoc:]): Likewise.

	* Array.[hm] ([ArrayIndex_c -setLoc:]): Likewise.

	* Map.h, List_GEN.h, Set.h: Reformatting throughout.

	* collections.h (INDEXSTARTP, INDEXENDP, REMOVEDP,
	ARCHIVERLITERALP): ޥ

	* Collection.m: Reformatting throughout.
	([Index_any -findNext:]): Use INDEXENDP.
	([Index_any -findPrev:]): Use INDEXSTARTP.

	* Array.m: Reformatting throughout.
	Include collections.h.
	([ArrayIndex_c -next], [ArrayIndex_c -prev], [ArrayIndex_c -get], 
	[ArrayIndex_c -put:], [ArrayIndex_c -getLoc], [ArrayIndex_c -setLoc:],
	[ArrayIndex_c -getOffset]):  Use INDEX{START,END}P.

1998-08-24  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* Makefile.am (CURRENT): Increment.  Swarm 1.3 released.
	(install-data-local): Do two installs, for install-sh case.

1998-07-30  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* Array.m (initArray): Avoid allocating a block of size zero.

1998-07-22  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* collections.h: Τ@deftype@protocolִ

1998-07-20  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* Makefile.am: Replace String with StringObject.

	* StringObject.m, predicates.m: Include StringObject.h instead of
	String.h.

1998-07-16  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* collections.h: StackQueue(߷ץɥȤ˰ư)

1998-07-09  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* Map.m ([Map_c -at:insert:]): Actually reject an insert for
	a pre-existing key.

	* collections.h (Map): DupOptionؤθڤ

	* Makefile.am (INCLUDES): Add misc.

1998-07-08  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* String.m: Don't include string.h.  Include misc.h.

	* InputStream.m, OutputStream.m: Don't include string.h or assert.h.

1998-07-08  Alex Lancaster  <alex@santafe.edu>

	* collections.h (KeyedCollection): ˤĤ߷ץɥȤ-getCountAtKey:-containsKey:᥽åɤ
	-{get,set}IndexFromMember:ˤĤƤΥȤ
	(KeyCollectionsIndex): ߷ץɥȤ-setMember᥽åɤΥȤ
	(Map): ˤĤ߷ץɥȤ-setKeyType:setKeySize:᥽åɤ

1998-06-30  Marcus G. Daniels  <mgd@ute.santafe.edu>

	* List_GEN.m ([... -next]): Return NULL if there is a wrap.

1998-06-25  Marcus G. Daniels  <mgd@ute.santafe.edu>

	* String.m, collections.[hm]: Remove LiteralString.

1998-06-24  Marcus G. Daniels  <mgd@ute.santafe.edu>

	* Makefile.am (lib_LIBRARIES, libcollections_a_SOURCES): Remove.
	(collections_HEADERS): Remove $(module_headers).
	(EXTRA_DIST): Add List_GEN.m.
	(install-data-local): New target.

1998-06-23  Marcus G. Daniels  <mgd@ute.santafe.edu>

	* Makefile.am (lib_LTLIBRARIES, libcollections_la_SOURCES,
	libcollections_la_LDFLAGS, SRC, CURRENT, REVISION, AGE): New
	variables.  Set *_SOURCES from SRC.

1998-06-22  Marcus G. Daniels  <mgd@ute.santafe.edu>

	* Makefile: Remove.

1998-06-21  Marcus G. Daniels  <mgd@ute.santafe.edu>

	* Makefile.am: New file.

1998-06-17  Alex Lancaster  <alex@santafe.edu>

	* collections.m: Removed extern from LiteralString declaration.

1998-06-15  Alex Lancaster  <alex@santafe.edu>

	* Array.m ([Array_c -describe:]): Removed cast of pointer to
	unsigned long.

1998-06-14  Marcus G. Daniels  <mgd@ute.santafe.edu>

	* collections.h: MemberTypeCollectionǤκԲġIndexSafetyDropMemberTypeؤθڤEndsOnlyListǤκԲġDupOptionBucketFunctionPartiallyOrderedPartialOrderContextPartialOrderRelationsKeyedCollectionǤκԲġKeyedCollectionʣʬŪŤǥåΰؤθڤ̵ˤʤä-setIndexFromKey:-getIndexFromKey-getKeyAllocSize-at:insert:setIndex:-insertGroup-removeKey:getKey:-replaceKey:-createIndex:setKey:-createIndex:setMember:

1998-06-05  Alex Lancaster  <alex@santafe.edu>

	* collections.h (LiteralString): @classѿǤϤʤextern id <String>ѡɥơ󥿥ɲá
	(DupOption): make-h2xץȤ꤬ȯᡢХѿ@endǥ쥯ƥ֤δ֤˥ڡ

	* collections.m: (LiteralString): Likewise, removed dummy
	#defines.
	
1998-06-03  Marcus G. Daniels  <mgd@ute.santafe.edu>

	* collections.h: ɥơ󥿥򹹿
	(BucketFunction): -getBucketFunctionbucket_t֤褦ѹ
	(CompareFunction): -getCompareFunctioncompare_t֤褦ѹ

1998-06-01  Alex Lancaster  <alex@santafe.edu>

	* collections.h (Collection): ᥽å-setIndexFromMemberLoc:ץȥɲá
	(Index): SymbolErrorХѿ˥ɥơʸ(//G)ɲäIndex@endץȥ¦Ȥ롣
	(KeyedCollection): -createIndex:fromMember:᥽åɤץȥɲá
	
	* collections.m (LiteralString): Redefine LiteralString as
	LiteralString_ between the imports of collections.xm and
	Collection.h to avoid redeclaration error.

1998-06-01  Marcus G. Daniels  <mgd@ute.santafe.edu>

	* collections.m: Put LiteralString global here.

	* collections.h: LiteralString@classѹ

1998-05-06  Marcus G. Daniels  <mgd@ute.santafe.edu>

	* collections.h (IndexSafety, Offsets, ForEach, DefaultMember,
	MemberBlock, Array, EndsOnly, DupOption, Sorted, CompareFunction,
	BucketFunction, PartiallyOrdered, PartialOrderContext, MapIndex,
	InputStream): //Sɲá

	* Set.m ([Set_c -at:memberSlot:]): Return NO, not nil.
	
	* collections.h	(Index, ListIndex, Stack, Queue, PartialOrderRelations,
	Set, MapIndex): Add phase tags.

1998-05-04  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* collections.h: Indexץȥ뤫NextPrevɥơΥȤ

1998-04-30  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* Set.[hm] ([Set_c -createIndex:fromMember:]): Rename from
	createIndexIn:fromMember:.  Raise a NotImplemented event.

	* ListGen.m: Adjust error message to be createIndex:fromMember
	not createIndexIn:fromMember.

	* collections.h: IndexΥɥơ硣¸IndexCollectionsץȥ˰ưŪ

1998-04-28  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* collections.h: ɥơ󥿥ɲá

	* collections.h: ץȥ: MemberTypeIndexSafetyOffsetsForEach
	(Collection): 򥤥󥯥롼ɡ
	ץȥ: DefaultMemberMemberBlock
	(Array): 򥤥󥯥롼ɡ
	ץȥ: EndsOnly
	(List): 򥤥󥯥롼ɡ
	ץȥ: DupOption, Sorted, CompareFunction, BucketFunction,
	PartiallyOrdered, PartialOrderContext, PartialOrderRelations.
	(KeyedCollection): 򥤥󥯥롼ɡ

	* String.m: Reformatting throughout.
	
	* String.[hm]: ([String_c -appendC:]): Remove.

	* InputStream.m (readString): Use catC: instead of appendC:.

1998-04-27  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* Makefile: Remove duplicate SWARMHOME assignment.

1998-04-11  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* collections.h: Хܥ̤Ǥʤѹ

1997-12-04  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* collections.h (OutputStream, String): ʸ

	* OutputStream.[hm]: Constify string arguments.

	* String.[hm]: Constify string arguments.

1997-11-29  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* Makefile (OBJECTS): Add InputStream.o and predicates.o.
	(install-headers): Add InputStream.h and predicates.o.
	($(INCLIB)/InputStream.h): Add.
	($(INCLIB)/predicates.h): Add.

	* collections.m (_collections_implement): Add InputStream.
	(_collections_initialize): Make customized LiteralString type.
	Define Lispish symbols generated by getExpr.

	* collections.h: InputStream@deftypeɲágetExpr֤ܥ

	* predicates.[hm]: New files.  Provide some convenience predicate
	functions for identifying strings and lists.

	* InputStream.[hm]: New files.  This class is introduced to read
	Lisp-like expressions into lists using the `getExpr' method.

	* collections.h:  [gs]etLiteralFlag᥽åɤ

	* String.m ([String_c +createBegin:]): Initialize literalFlag to zero.
	([String_c -setLiteralFlag:]): Add.
	([String_c -getLiteralFlag]): Add.
	([String_c -out:]): Add.  This routine that writes string to
	an archive stream, and quotes its value when literalFlag is set.

	* String.h (String_s): Add literalFlag instance variable, and
	declare accompanying getter/setter methods.

	* collections.h: <Collection>KeyedCollectiondeftypeɲá

	
