Note from archiver<at>cs.uu.nl:
This page is part of a big collection
of Usenet postings, archived here for your convenience.
For matters concerning the content of this page,
please contact its author(s); use the
source, if all else fails.
For matters concerning the archive as a whole, please refer to the
or contact the archiver.
Subject: comp.lang.objective-c FAQ, part 2/3: ClassWare Listing
This article was archived around: 17 Sep 1998 12:52:01 GMT
Version: $Id: classes,v 3.42 1998/09/17 12:51:32 tiggr Exp $
This is the second of three FAQ postings for comp.lang.objective-c. This
posting lists available kits and classes, to aid the reader in answering
the question `to re-use or to re-invent?'. In order to keep this list up
to date and as interesting and diverse as possible, send your additions,
deletions and suggestions to firstname.lastname@example.org. (As you can conclude from
the state of this document, hardly anybody does and apparantly nobody
The available classes and kits are categorized as follows:
Stepstone Stepstone libraries,
for use with Stepstone's environment
FSF FSF maintained/released classes
for use with GNU CC
Third Party commercial classes
OS/2 Objective C class library
Objective-C Views UI library for MS Windows
OBJECT:Math extensible match and string handling
Store OO user level virtual file system
DOME 3.0 distributed object management environment
Computer Algebra Kit objects for multiprecision arithmetic
[stepstone & portable object compiler]
GPL classes released under the GPL
Tcl/Objective-C Interface Library [gnu, nextstep]
libFoundation (another) GPL implementation of FoundationKit
libtl Tiggr's Objective-C Library [gnu, nextstep]
Public Domain public domain classes---no GPL
MiscKit [nextstep / openstep]
ObjectPak collection class library
[gnu, nextstep, stepstone, portable object compiler]
Bundled with the compiler is ICpak 101 Foundation Class Library. This
library provides twenty classes and more than three hundred methods
including such things as Collections (OrdCltn, Stack, Set, Dictionary,
SortCltn), Arrays (IdArray, IntArray), String, Sequences, Automatic
Object I/O (ASCII Filer), etc.
The ICpak 201 Graphical User Interface library is used to build iconic
multi window user interfaces for workstation applications. The library
consists of 58 classes and over 1,100 methods. Classes include such
things as Controllers, Menu's, Menu Items, Icons, Windows(StdLayer),
Timers, Buttons, Text, etc, etc. ICpak 201 is ported to X Windows,
OpenWindows, Motif and SunView and provides a consistent user interface/
look-and-feel between all platforms.
The Stepstone Corporation
75 Glen Road
Sandy Hook, CT 06482
tel: +1 203 426-1875
fax: +1 203 270-0106
Object is the root class which comes as part of the Objective-C
runtime library provided with the GNU CC compiler.
GNU Objective-C Class Library
The GNU Objective C Class Library, version 0.1.19, is now available.
What is the GNU Objective C Class Library?
It is a library of general-purpose, non-graphical Objective C
objects designed in the Smalltalk tradition. It includes
collection objects for maintaining groups of objects and C
types, streams for I/O to various destinations, coders for
formating objects and C types to streams, ports for network
packet transmission, distributed objects (remote object
messaging), pseudo-random number generators, string handling,
and time handling facilities.
Noteworthy changes since version `0.1.10'
* Now using `src', `config' and `doc' directories to un-clutter
the top-level directory.
* New GNUStep classes implemented: NSDictionary,
NSMutableDictionary; concrete classes NSGDictionary,
NSGMutableDictionary; enumeration classes
* More methods in NSData are implemented, thanks to Albin Jones.
* More methods in NSString are implemented; we have new classes
NSCharacterSet and NSBitmapCharSet; all thanks to Adam Fedor.
* And several bug fixes. See the ChangeLog for details.
Where can you get it? How can you compile it?
The library requires gcc 2.7.0 or higher. The library does not
work with the NEXTSTEP 3.2 compiler because that version of
NeXT's cc cannot handle nested functions. Until a later release
from NeXT, NEXTSTEP users will have to install gcc. See the
`INSTALL' file for more instructions about compiling and
installing the library.
The library has been successfully compiled and tested with the
following configurations: mips-sgi-irix5.2
Some previous snapshots of the library worked with these
configurations, but they haven't been tested recently (We are
looking for a volunteer to write a test suite using dejagnu):
sparc-sun-sunos4.1.3, m68k-next-nextstep3.0, rs6000-ibm-aix3.2,
sparc-sun-solaris2.3, i386-unknown-linux, i386-sun-solaris2.4,
i386-unknown-sysv4.0, Ultrix 4.2, HP/UX 9.01. It is known not
to work with: alpha-dec-osf
The `.tar' file is compressed with GNU gzip. Gzip can be
obtained by anonymous ftp at any of the GNU archive sites.
For info about FTP via email, send email to
`email@example.com' with no subject line, and two-line body
with line one `help' and line two `quit'.
The most recent (not necessarily tested) snapshots of the
library will be placed in `ftp://alpha.gnu.ai.mit.edu/gnu'.
R. Andrew McCallum
Free Software Foundation
59 Temple Place -- Suite 330
Boston, MA 02111
Third Party Kits
OS/2 Objective C class library
This visual development environment provides Objective C classes
for most of the window classes provided by OS/2 PM. Instead of
writing ANSI C applications you can use the features provided by
Objective C to create OS/2 applications using the Graphical User
Interface Presentation Manager.
Also included is a small library to simplify access to DBase III
database files in your programs.
The library, current version 0.8, is available as
All documentation needed is included in Postscript format.
Center for Computational Intelligence
Technische Universitaet Wien
A-1040 Wien, Austria
BarCodeKit is a comprehensive collection of object palettes for
creating international standard bar codes. BarCodeKit allows
both developers and organizations to quickly add bar coding to
custom NEXTSTEP applications. By combining the power of object
orientation and PostScript into a comprehensive library of bar
code symbologies, BarCodeKit represents the state of the art in
bar code technology. Developers can seamlessly add bar coding to
an existing application in a matter of minutes by using any of
the 35 pretested and reusable objects in the BarCodeKit library
of palettes. Previously, adding bar coding to an application
meant weeks or months of development, incompatibility with
different bar code readers and the use of costly proprietary bar
The BarCodeKit features a full range of bar code symbologies
including Code 3 of 9, Code 39 Extended, UPC-A, UPC-E, HRI, NDC,
EAN-8, EAN-13, JAN-8, JAN-13, ISBN, ISSN, SICI, SISAC, POSTNET,
ABC, FIM, BRM, Interleaved Two of Five, MSI, Codabar, Code 11,
Code 93, Code 128, Code 16K and Code 49. It complies to
international, national, military and commercial bar coding
standards including EAN, JAN, CEN, ANSI, MIL, USS and HIBCC.
Furthermore, it provides developers with flexibility; bar codes
created using the kit can be scaled and rotated to fit a
specific area on a label or document and saved in EPS, EPSI (EPS
with interchange bitmap preview for non Display PostScript
computers), or TIFF formats. BarCodeKit is an excellent
complement to NEXTSTEP's Application Kit and Database Kit It was
nominated for a Best of Breed Award by the editors of NeXTWORLD
SerialPortKit is a fundamental class library and palette that
makes communication with serial peripherals easy to add into
your custom NEXTSTEP applications without any of the drawbacks
of other solutions. You can use SerialPortKit to communicate
with a variety of serial peripherals such as modems, printers,
terminals, audio/video equipment, bar code readers, magnetic
stripe readers, controllers and data acquisition devices. The
SerialPortKit contains a single SerialPort class which
interfaces to our SerialPortServer. Additional classes for
specific peripherals are available in our SerialPeripheralsKit
or through our consulting service.
You can easily incorporate the SerialPortKit into your custom
applications due to its professionally designed and truly
object-oriented programming interface. The included Interface
Builder palette, source code examples, on-line indexed reference
manuals and tutorial further removes the tedious task of
traditional serial port programming. Requires SerialPortServer
or SerialPortServer Lite which are available also from Hot
75 Cambridge Parkway, Suite E-504
Cambridge, MA 02142-1238 USA
tel: + 1 617 252 0088
fax: + 1 617 876 8901
email: firstname.lastname@example.org (NeXTmail)
Berkeley Productivity Group
BPG BLOCKS is an open extensible manufacturing framework which
supports a variety of applications including factory definition,
real-time tracking, real-time scheduling, short-term planning,
shift scheduling, production planning and capacity analysis.
BPG BLOCKS creates a virtual reality which represents the real
factory including the people, machines, material, processes,
their dynamics and interactions. BPG BLOCKS is based on an easy
to understand design where every software object represents
either a real-world entity, or an important concept in the
manufacturing domain. BPG BLOCKS' object-oriented manufacturing
model mirrors the real world, captures numerous manufacturing
details accurately, supports commonly used abstractions, and
allows decisions to be made based on aggregate information. BPG
BLOCKS forms the basis for building custom applications which
meet the unique needs of your particular manufacturing
Objective-C Views is a user interface class library for
35032 Maidstone Court
Newark, CA 94560
tel: +1 510 795-6086
fax: +1 510 795-8077
OOAI - M. Onyschuk and Associates Inc.
PropertyListCoders offers an alternative to NSCoder, allowing
objects to be encoded to a human-readable property-list format
instead of NSCoder's binary form.
Adding support for PropertyListCoders in existing applications
is very straightforward, the syntax is both conceptually and
visually similar to the NSCoder system. PLCoder based
documents can typically be added for many projects with the
inclusion of a few categories on existing classes.
PropertyListCoders produce documents that are easy to work with
and debug. The system also allows datatypes to be stored in
their original format, which is commonly used to create
documents containing embedded links or images.
Reorderable Matrix (MiniExample)
OAReorderableMatrix is a kind of Matrix whose rows and columns
are reorderable through an Alternate-click gesture. Developers
can specify whether the matrix' cells are reorderable
vertically, horizontally, or both vertically and horizontally.
M. Onyschuk and Associates Inc.
tel: +1 416 598 1321
fax: +1 416 598 1312
Stream Technologies Inc.
Store is an Object Oriented User Level Virtual File System.
It is described extensively in `Store - Object Oriented Virtual
File System' by Timo Lehtinen, which is available by anonymous
FTP from ftp://ftp.sti.fi/pub/sti/doc/papers/store.ps.
Stream Technologies Inc.
tel: +358 0 4357 7348
fax: +358 0 4357 7340
Developers who need to create truly distributed applications now
have a Distributed Object Management Environment. Suite's DOME
is a complete distributed object-oriented architecture with
class libraries, application development tools and run-time
With DOME, systems can be developed for diverse platforms,
created using all of the features of different platforms, while
minimizing their complexities and disparities.
DOME addresses application development with a layered approach.
Figure 1 above [where?] shows DOME, the relationships of the
various components or services, and how they communicate with
Suite's DOME 3.0 lays the foundation for a truly distributed
computing environment. All basic functionality needed to create
a true Distributed Object Management Environment are present.
The business benefits of DOME are time and money. DOME reduces
the time needed to build applications that work across
distributed and heterogeneous environments. All companies today
face the problem that old applications run on physically
disparate environments. The DBMSs, network protocols and
operating systems are not homogenous. New application
development is being forced to build applications that work with
the old applications. Computers on the desktop are a reality.
DOME facilitates building new applications that take advantage
of the new high performance workstations while making it easy to
tie the new applications to the old applications, i.e.,
application interoperability. All of this can be done much
easier and quicker, with fewer maintenance problems with DOME.
- Store and forward (i.e., queueing)
- Multicast and Broadcast support
- Link Services
- Scripting support
- Uses Directory Services
- User definable Messages
- Message packing and unpacking
- Message translation
- Large Messages
- Multiple levels of message recovery
- Priority Message Queuing
- Selective Message reception
- Logical Addressing (Uses Directory Services)
- Object location
- Parent/child and peer-to-peer
- Aliasing (i.e., logical names)
- Concerns (i.e., the ability to notify users of an
object of a change)
- Application, process, user, node object support
- Time arithmetic
- Time stamps
- String formatting
- Time zone conversions
- SQL92 (DML and DDL)
- Horizontal fragmentation (i.e., data stored in more
than one location by value)
- Vertical fragmentation (i.e., data stored in more than
one location by type of data)
- Replication (partial and full)
- Triggers and Procedures
- Flow of Control (If..Then..Else, While, Return,
- SQL92/Sybase interoperability
- Support for legacy databases
- Distribution of data handled by DBA and DA, not the
- Scripting, full lexical parsing, regular expressions,
flow control, buffer management.
- Ability to invoke all DOME services from within script
- Event Queueing
- Event Priority Scheduling
- Process recovery
- Trace facilities
- Playback capability for debugging and audit purposes
- Error Logging
- Error Recovery
- Exception Handling
- Object store
- Object location
- Object registration
tel: +1 714 938 8850
fax: +1 714 978 1840
Computer Algebra Kit
Objects for Multiprecision Arithmetic and Computer Algebra
The Computer Algebra Kit is a collection of Objective C objects
for arbitrary precision integer arithmetic, efficient polynomial
arithmetic over arbitrary coefficient domains, and for computing
with matrices of integers, polynomials, fractions etc. Each
carefully designed object comes with a clean, exquisite header
file and a man page containing both a description of the object
and a discussion of all public, class and instance methods.
The Computer Algebra Kit comes with the source of an application,
called "MySystem", consisting of trivial subclasses of the classes
in the toolkit. Once compiled however, this small system provides
interactive access to many of the features of the Computer Algebra
Kit. The "MySystem" application can be used as a shell for adding
functionality to the Computer Algebra Kit, by extending the
subclasses, or as a starting point for building your own symbolic
"front-end" system to numerical code.
Number of Objects: 15
- Integer object for fast, exact, multiprecision integer
- Polynomial object for advanced, polynomial arithmetic, over
- Matrix object for working with matrices of polynomials,
Binary Bulk of Library: between 1.0 and 1.5 MB dep. platform
Source Bulk of Library: about 65,000 lines of generated Objective C
Portability: Stepstone, GNU, NeXT Objective C compatible
Platforms: Linux, SunOS, Solaris, AIX, IRIX, NeXT available now,
others coming soon!
For more information, or to download a copy of this library of
objects, please refer to the Computer Algebra Kit's web:
Objective-Framework (Objective-Tcl, Objective-Perl, ...)
The Objective-Framework from TipTop Software
(http://www.tiptop.com) system provides true language
independence to the Objective-C (e.g., OpenStep) object model.
Objective-Framework provides a seamless integration of the
Objective-C runtime system with other languages.
Objective-Framework not only breaks the barrier between
interpreted and compiled code, but it also breaks the barrier
between various programming languages! Objective-Tcl and
Objective-Perl are two languages currently available. More to
Some of the benefits of Objective-Framework include:
- Rapid application prototyping and development environment.
The Objective-Framework languages, Objective-Tcl and
Objective-Perl, provide a dynamic interactive interpretive
environment. You get immediate feedback to all your
programming actions in this environment, so you can
prototype and develop much more rapidly. You can define and
redefine classes on-the-fly, at runtime, skipping the
traditional code-compile-lik-debug development cycle.
- True language independence. You can seamlessly
mix-and-match languages. Thus you can use Objective-Perl
for heavy-duty text processing, use Objective-Tcl for highly
interactive (e.g., exploratory) programming, etc. Classes
can have mixed implementation; certain methods can be
implemented in Objective-C, other methods can be implemented
in Objective-Tcl, yet some other methods can be implemented
in Objective-Perl, etc. It is transparent and irrelevant to
the sender of a message which language implements the
corresponding method---the method looks "native" to the
- Extend existing applications. The Objective-Framework
runtime library can be linked with any NEXTSTEP/OpenStep
application to easily provide a high-level control
- Interactive Enterprise Object Framework (EOF) development
environment. Objective-Tcl and Objective-Perl are very
useful for EOF development, since this kind of development
consists of writing high-level glue code which is hard to
write in a low-level compiled language such as Objective-C,
and easy to write in high-level languages such as Tcl or
- Testing environment. Objective-Tcl and Objective-Perl are
ideally suited for regression testing.
A more detailed description of the Objective-Framework
functionality is availble at
http://www.tiptop.com/Objective/WhitePaper.htmld/. See also
http://www.tiptop.com for more info.
Fully functional evaluation version is available:
Objective-Browser (OB) is a graphical runtime introspection and
debugging tool. The browser allows you to view live objects
within a running application in many object-specific ways. OB
allows you to easily investigate the structure and methods of
various objects and classes. For example, methods, instance
variables, and other object information can be viewed and edited
To a user, OB appears as a hierarchical browsing tool, similar
to the file system browser. Each node in the browser represents
an object or some other piece of information (e.g., a method)
with an arbitrary number of subnodes. For example, when looking
at an object, instance variables or methods appear as subnodes.
OB is extensible. You can provide object-specific browser nodes
and custom inspectors for any object in the system. OB can be
used from any application which is linked with the Objective-Tcl
runtime---the browser is dynamically loaded when needed.
PO Box 30681
Bethesda, MD 20824-0681
An alpha version of an GNU Objective-C class library for X/Motif
Windows is available via anonymous ftp from
For lack of a good witty name, the library is called objcX. The
library requires gcc 2.7.0 or later and libobjects 0.1.10 or later.
Because we built this library to support porting NeXTSTEP
applications to X/Motif and because our GUI programming experience
has been with NeXTSTEP, this class library has a strongly
resemblance to NeXT's AppKit. However, it is only a Objective-C
wrapper to Motif widgets and does not support Display PostScript,
rich text, pasteboard, drag and drop, services or many other things
associated with the NeXTSTEP environment that are not available
under X windows.
From version 0.8, the nib translator is part of the objcX
distribution, as well as some examples of using objcX.
These announcements are also a call for help. The library and the
translator program could use much more work in two areas...
- first the library could be flushed out with more features to
support larger applications
- second, I would like to contribute the library to the GNU
project. But it is based on Motif widgets which is not free
software. Thus, work is needed to replace Motif widgets with
widgets based on free software.
To stay informed, join the mailing list email@example.com by
sending a subscription email to firstname.lastname@example.org.
Paul F. Kunz Paul_Kunz@slac.stanford.edu (NeXT mail ok)
Stanford Linear Accelerator Center, Stanford University
Voice: (415) 926-2884 (NeXT) Fax: (415) 926-3587
Tcl/Objective-C Interface Library
A library of Objective-C objects and support functions for
communication between Objective-C and Tcl/Tk. From Tcl you can send
messages to Objective-C objects and get textual representations of
what's returned. Thus it provides a way to interactively type
messages and see the results, all inside the rich structure of the
Tcl scripting language---almost an Objective-C interpreter. The
library also provides an Objective-C object that will forward all of
its messages to the Tcl interpreter in textual format.
The library does NOT provide:
* Handling arguments of non-atomic C types.
* Tk widgets based NeXTSTEP AppKit objects.
* The ability to create new Objective-C classes
or methods from Tcl.
The library is available by anonymous ftp at
The library requires gcc (2.5.8 or higher) or NeXT's cc and tcl-7.3.
If you have tk-3.6, the library can be configured to use it. If you
have libreadline, the library can be configured to use it. Gcc and
libreadline are available at any of the GNU archive sites; tcl and
tk are available from sunscript.sun.com.
R. Andrew McCallum ARPA: email@example.com
Computer Science Department UUCP: uunet!cs.rochester.edu!mccallum
University of Rochester VOX: (716) 275-2527
Rochester, NY 14627-0226 FEET: CSB Rm. 625
[Fri Dec 5 1997]
An OpenStep Foundation Kit library
libFoundation is a free implementation of the Foundation library
as defined by the OpenStep specification, plus more classes that
come with the newest releases of OPENSTEP 4.x and Rhapsody. The
last released version of libFoundation is 0.8.0.
Some extensions to the OpenStep specification are also present.
They include an extended exception handling mechanism, a garbage
collector based on reference counting and a printf-like formatting
class. The exception handling mechanism is very similar with
those found in Java and C++ and requires support for nested
functions from the compiler. The garbage collector adds the
benefits of automatic garbage collecting to the OpenStep programs
and it is fully integrated with OpenStep classes. The printf-like
formatting class is a general purpose class that can be used to do
various operations that require parsing of format strings like in
printf(). This class is used for example to do all the formatting
jobs in the NSString class in libFoundation. There is another
class UnixSignalHandler designed which gives an object-oriented
approach to the Unix signal handling mechanism.
These extensions are also available in a separate library for
other OpenStep Foundation implementations; the current supported
Foundation libraries are gnustep-base and the Foundation library
in OPENSTEP 4.x. We dropped the support for the buggy
implementation of the Foundation library that comes with NeXTSTEP
3.3; sorry for this.
The library was ported on the following platforms:
m68k-next-nextstep3, i386-next-nextstep3, i386-pc-linux-gnu,
i386-pc-cygwin32 (Windows NT), i386-unknown-solaris2.5.1,
sparc-sun-solaris2.5, alpha-unknown-linux-gnu. Preliminary
support has been done for HPUX 9.x. The library also runs with
GNU runtime on OPENSTEP 4.x for Mach/Intel using the a modified
Coming soon are Distributed Objects and Unicode support in
You can download the sources from
More information about libFoundation and related work can be found
Ovidiu Predescu <firstname.lastname@example.org>
Mircea Oancea <email@example.com>
libtl -- Tiggr's Objective-C Library
TL is a basic Objective-C library, which happens to incorporate a
Lisp interpreter, which provides a seamless integration between
Objective-C and Lisp. (It is neither common lisp nor emacs lisp; it
is probably best described by the name tiggr's lisp.) TL provides
mark & sweep garbage collection to instances of TLObject or a
TL provides a large number of classes, including a `root' object
TLObject, a patch for existing root objects, and of course the
usual strings, streams, containers, etc. Furthermore, it includes
a host of Lisp invokable (but C written and thus also C invokable)
If reference counting is not provided by another library, TL
provides reference counting and an NSAutoreleasePool.
TL has been tested on HP9000/735 HP-UX 9.05 with the GNU runtime,
and on a NeXTstation Mono Turbo NS3.3 with the NeXT runtime.
TL is distributed under the GNU General Public License. TL comes
WITHOUT ANY WARRANTY. See the file LICENSE in the TL distribution
TL is available through anonymous FTP at
tel: +31 40 2473387 (work, voice)
Public Domain Kits
IconKit is an Objective-C class library for building drag-and-drop
applications. It recreates the shelves, browsers, folders, and
suitcases that are present throughout the basic NEXTSTEP
- The file browser and shelf in Workspace.
- The bookshelves in Librarian.
- The project browser in ProjectBuilder.
- The suitcases in InterfaceBuilder.
- The feature browser used to configure a DBTableView.
IconKit contains all the objects one needs to build new applications
of this kind. It is fully integrated with InterfaceBuilder,
providing a palette and inspectors for all the IconKit classes. It
comes complete with source code, documentation, and an example
application that mimics the NEXTSTEP Workspace file viewer.
IconKit is freely distributable and free for noncommercial use. It
costs money for a commercial license, but you are allowed to use
IconKit get your application working before deciding whether to
purchase it. The General Objectware License that covers this policy
is broadly applicable, and other developers are encouraged to adopt
it for their own software.
IconKit should work on any system running NEXTSTEP 3.0 or later.
IconKit may be freely distributed, in whole or in part, provided
only that the included ReadMe file and the General Objectware
License are neither removed nor altered in any way. The complete
kit is available from either of the two archive locations,
FileViewer is a compiled MAB version of an example application that
recreates the NEXTSTEP file browser. Complete source is included in
In the event that you cannot locate IconKit at either of these two
locations, you should contact the author to receive the complete
distribution. All questions and correspondence are welcome!
H. Scott Roy
2573 Stowe Ct.
Northbrook, IL 60062-8103
Package consisting of an Objective-C Webserver class.
By subclassing the Webserver class and implementing the -contents
message (in a subclass) one can easily build a small (concurrent)
The package has been built on HP-UX, IRIX, Freebsd and Linux.
inetpak is available from
[Entry-up-to-date: Fri Sep 11 16:33:21 1998]
A compiler for semi-automatically translating Smalltalk code (such
as code developed in Squeak) towards Objective-C.
nproducer is available from
[Entry-up-to-date: Fri Sep 11 16:34:06 1998]
[Abridged press release].
ANNOUNCING THE RELEASE OF THE MISCKIT VERSION 1.10.0
Update to Kit of Free Objective-C Objects Is Now Available
PROVO, UT, July 28, 1997 -- A new release of the MiscKit has
been made publically available. It contains many new objects
and fixes all problems reported since the previous release.
This is the NEXTSTEP version of the kit! A new release of the
OPENSTEP version is expected soon. The MiscKit may be
obtained via ftp to one of the following locations:
There is a quad fat binary release accompanying this release:
The thoughtport.com site always has the most recent official
MiscKit distribution available in /pub/next/misckit with all
previous versions archived in /pub/next/misckit/old.
The MiscKit is an easy to install kit consisting of
Objective-C objects, Interface Builder palettes, bundles, and
other useful programming resources. All the resources in the
MiscKit have been donated by various Internet personalities
for the benefit of other NEXTSTEP programmers.
Objects include data structures (string, tree, stack, queue,
priority queue, linked list), interface widgets (find panel,
textfield, button and slider subclasses, clock and calendar
views, icon wells, progress pie/bar), macros, other useful
objects (lock file, log file, time, stopwatch, serial port,
colors, subprocess, remote subprocess, file), frameworks for
building complex interfaces (MiscMergeKit, MiscInspectorKit,
InfoMenuKit) and even some useful example applications...plus
To make the MiscKit more attractive to developers, use of the
MiscKit resources is absolutely free of charge, no matter how
the resources are used. Redistribution of the MiscKit is also
encouraged. Many developers are reluctant to use objects
which are under the GNU "Copyleft". As a result, the MiscKit
has its own license which allows developers to reuse the code
freely, even in commercial projects. Everything possible has
been done to encourage the use of the MiscKit to speed
Any developer who has generally useful objects, palettes, or
other programming resources and would like to donate them to
the MiscKit effort is welcome to do so. Contact Don Yacktman
at firstname.lastname@example.org for information on how to prepare a MiscKit
submission. By making a submission to the MiscKit, a
developer can avoid the hassles of packaging up a formal
distribution of their resources and in turn help add to a
growing centralized pool of useful resources.
The misckit mailing lists are temporarily out of order and we
hope to have them up and working at a new site soon. Until
then, inquiries and subscription requests should be made to
email@example.com. If you request a subscription, be sure to
specify whether you wish to be part of the development
discussion or only receive MiscKit-based press releases. When
the mailing lists are once again up and running, a press
release will be sent out to and let everyone know about the
changes in addresses and any other important details.
Please note that the creation of the "misckit.com" domain does
NOT mean that the MiscKit is "going commercial" in any way--it
will always be free and open as it has been in the past.
Nothing has changed and NO special significance should be read
into the use of ".com" instead of ".org".
The MiscKit has evolved from the DAYMiscKit and several
objects released over the past few years by Don Yacktman and
other USENET personalities.
The Music Kit provides tools for designing music
applications. These tools address three topics: music
representation, performance, and synthesis (digital sound
generation and processing). The Objective-C classes defined in
the Music Kit fall neatly into these three areas.
The design goal of the Music Kit is to combine the interactive
gestural control of MIDI with the precise timbral control of
MUSIC 5-type systems in an extensible, object-oriented
environment. To this end, the Music Kit is capable of fully
representing MIDI. The Music Kit accepts MIDI in and can send
MIDI out through the two serial ports at the back of the
computer. Nonetheless, the Music Kit isn't limited by the MIDI
specification; for example, its resolution of frequency and
amplitude is much finer than MIDI's highly quantized values.
The Music Kit generates sounds by sending synthesis instructions
to the DSP. The generality of the synthesis software far
surpasses that of commercial synthesizers. While most
synthesizers employ only one type of synthesis-the Yamaha DX-7
uses only frequency modulation, for example-the Music Kit can
implement virtually any sound synthesis strategy. And since the
synthesis engine (the DSP) and the control stream are brought
together in a single high-performance computer, the Music Kit
makes possible an unprecedented level of expressive control.
MusicKit used to be supplied by NeXT as part of NeXTSTEP (pre
3.0). It is now maintained by CCRMA and available in two
NI-fat Class library, header files, documentation,
programming examples, and a suite of applications
(size = 13MB).
Source of the MusicKit class library (size = 5MB).
`ObjectPak' is not just `another' collection class library.
ObjectPak is a rewrite from scratch of the objects described in
Brad Cox' book. ObjectPak is largely compatible in interface with
the collection classes of Stepstone's ICpak101 (but not with the
ICpak101 foundation classes), and hence also with the Smalltalk
Collection Classes from Adele Goldberg's book. The library comes
with source code, header files, RTF and HTML documentation.
Runtime dependencies are left out of ObjectPak. You can therefore
work with the same objects on any current or future implementation
of Objective C, yet take advantage of each particular environment:
ObjectPak has been tested on NextStep, Stepstone and GNU Objective
C, and has been ported to several Unix platforms (Linux, Solaris,
Classes in ObjectPak
String string objects
Collection collections of objects, ordered
Set sets of objects, no duplicate entries
Dictionary dictionaries, key-value tables
Tree instances keep their contents sorted in a tree
Sequence sequencing over groups of objects
ObjectPak is an ideal starting-point for writing all sorts of text
filters or processors in Objective C : as a demonstration of what
can be done, the library comes with a small program to print a
collection, a set without duplicates, a dictionary or a sorted
list of the words in a text file.
ObjectPak is public domain software; get a copy from the Computer
Algebra Objects web-site, located at "http://www.can.nl/~stes".
The information in this file comes AS IS, WITHOUT ANY WARRANTY. You may
use the information contained in this file or distribute this file, as
long as you do not modify it, make money out of it or take the credits.
All trademarks appearing in this file are owned by their respective
owner. To increase the information content in this file, any indication
to that effect is not present in the FAQ other than in this paragraph.
A World Wide Web hypertext version of this FAQ is maintained by Steve Dekorte
<firstname.lastname@example.org> at http://www.slip.net/~dekorte/Objective-C/.
A Japanese language version of this FAQ, maintained by Norihiro Itoh
<email@example.com>, resides at http://www.fsinet.or.jp/~nito/index-j.html.
The first version of this FAQ was written by Bill Shirly, helped by the
feedback and information given to him by a lot of people. The current
version is maintained by Pieter Schoenmakers <firstname.lastname@example.org>, supported
by feedback from Glen Diener, Christopher Lozinski, Sean Luke and a lot of
other people. Mail your bug reports, comments, suggestions and additions