GNU Objective-C Collection Library
**********************************
The GNU Objective-C Collection Class Library, `libcoll' version
940725, is now available.
Where can you get it? How can you compile it?
==============================================
The library is available by anonymous ftp at
ftp.cs.rochester.edu:pub/objc/libcoll-940725.tar.gz
The library requires gcc 2.5.8 or higher. The library does not work
with the NEXTSTEP 3.2 compiler because NeXT's cc cannot handle nested
functions; the next version of NEXTSTEP will, however, and this version
of libcoll is already running internally at NeXT. See the `INSTALL'
file for more instructions about compiling and installing the library.
The `.tar' file is compressed with GNU gzip. It can be obtained by
anonymous ftp at any one of the GNU archive sites. For example:
ftp.uu.net:systems/gnu/gzip-1.2.4.tar
gatekeeper.dec.com:pub/GNU/gzip-1.2.4.tar
prep.ai.mit.edu:pub/gnu/gzip-1.2.4.tar
For info about FTP via email, send email to `ftpmail@decwrl.dec.com'
with no subject line, and two-line body with line one `help' and line
two `quit'.
What is the Collection library?
===============================
It's a library of Objective-C objects with similar functionality to
Smalltalk's Collection objects. It includes: Set, Bag, Array,
CircularArray, GapArray, Queue, Stack, Heap, LinkedList, BinaryTree,
SplayTree, RBTree, Dictionary, MappedCollector, EltNodeCollector and
DelegateList.
Outside of its main heirarchy `libcoll' also includes List,
HashTable, Storage and NXStringTable objects compatible with NeXT's
objects of the same name.
As an extra plus, the library includes classes Magnitude and Time.
Preliminary documentation is available via `texinfo' in the files
`libcoll.info' and `libcoll.texi'. The info file was created from the
texi file using an modified version of `makeinfo' available by
anonymous ftp from `iesd.auc.dk:pub/ObjC'.
Here is the object inheritance heirarchy. All protocols end with
"ing"; all collection protocols end with "Collecting". All collection
abtract superclasses (classes which are not usable without subclassing)
end with "Collection";
Collection <Collecting>
Set
Bag
KeyedCollection <KeyedCollecting>
Dictionary
MappedCollector
IndexedCollection <IndexedCollecting>
Array
Stack
GapArray
CircularArray
Queue
Heap
LinkedList
BinaryTree
RBTree
EltNodeCollector
String
DelegateList
LinkedListNode
LinkedListEltNode
BinaryTreeNode
BinaryTreeEltNode
RBTreeNode
RBTreeEltNode
HashTable
List
Storage
NXStringTable
Noteworthy changes in verion 940725
===================================
* A NeXT-compatible NXStringTable object, thanks to Adam Fedor
<adam@bastille.rmnug.org>.
* SplayTree and RBTree classes now operational. More methods in Time
class implemented.
* Some API cleanup: -delegateListList changed to
-delegateListCollection. -includesSameContents: changed to
-contentsEqual:. -insertObject:atKey: changed to
-putObject:atKey:. See the ChangeLog for more detail.
* Configuration by autoconf in the self-tests directory.
Configuration script tests GCC nested functions. Configuration
script detects NEXTSTEP and makes the appropriate adjustments,
including skipping the NeXT-compatibility classes.
* Bug fixes: BinaryTree rotate methods fixed. Fixed the way
`ifNone:' and `ifAbsent:' functions were called. Fixed the way
long elements are printed. Added methods for preventing memory
leaks by unfinished enumerations: `-newEnumState' and
`-freeEnumState:'. Several bug fixes in List and Storage; changes
for better NeXT-compability. And more.
How can you help?
=================
* Read the questions in the `TODO' file. If you have any useful
comments mail them to me!
* Give me feedback! Tell me what you like, tell me what you think
could be better. Send me bug reports.
* Donate classes. If you write classes that fit in the libcoll
framework, I'd be happy to include them.
------------------------------------------------------------------
R. Andrew McCallum ARPA: mccallum@cs.rochester.edu
Computer Science Department UUCP: uunet!cs.rochester.edu!mccallum
University of Rochester VOX: (716) 275-2527
Rochester, NY 14627-0226 FEET: CSB Rm. 625
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.