Version: $Id: classes,v 3.42 1998/09/17 12:51:32 tiggr Exp $
See reader questions & answers on this topic! - Help others by sharing your knowledge
Objective-C ClassWare Listing 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 email@example.com. (As you can conclude from the state of this document, hardly anybody does and apparantly nobody cares.) 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 BARCODEKIT SERIALPORTKIT BPG Blocks 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] Objective-Framework, Objective-Browser GPL classes released under the GPL objcX [gnu] 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 IconKit [nextstep] MiscKit [nextstep / openstep] MusicKit [nextstep] ObjectPak collection class library [gnu, nextstep, stepstone, portable object compiler] Stepstone 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. Contact The Stepstone Corporation 75 Glen Road Sandy Hook, CT 06482 tel: +1 203 426-1875 fax: +1 203 270-0106 telex: 506127 FSF Object 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 NSGDictionaryKeyEnumerator, NSGDictionaryObjectEnumerator. * 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 `firstname.lastname@example.org' 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/'. Contact R. Andrew McCallum email@example.com Contact Free Software Foundation 59 Temple Place -- Suite 330 Boston, MA 02111 +1-617-542-5942 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 ftp://ftp.leo.org/pub/comp/os/os2/gnu/emx+gcc/contrib/vd08.zip. All documentation needed is included in Postscript format. Contact Thomas Baier Center for Computational Intelligence Technische Universitaet Wien Resselgasse 3/CI A-1040 Wien, Austria Phone: +43-1-58801-4100 E-Mail: firstname.lastname@example.org Hot Technologies BARCODEKIT 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 code printers. 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 Magazine. SERIALPORTKIT 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 Technologies. Contact Hot Technologies 75 Cambridge Parkway, Suite E-504 Cambridge, MA 02142-1238 USA tel: + 1 617 252 0088 fax: + 1 617 876 8901 email: email@example.com (NeXTmail) Berkeley Productivity Group BPG BLOCKS 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 facility. Objective-C Views Objective-C Views is a user interface class library for Microsoft Windows. Contact Christopher Lozinski BPG 35032 Maidstone Court Newark, CA 94560 tel: +1 510 795-6086 fax: +1 510 795-8077 email: firstname.lastname@example.org OOAI - M. Onyschuk and Associates Inc. PropertyListCoders 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. Contact M. Onyschuk and Associates Inc. tel: +1 416 598 1321 fax: +1 416 598 1312 email: email@example.com web: http://www.oaai.com/ Stream Technologies Inc. Store 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. Contact Stream Technologies Inc. Valkj\"arventie 2 SF-02130 Espoo Finland tel: +358 0 4357 7348 fax: +358 0 4357 7340 email: firstname.lastname@example.org SuiteSoftware DOME 3.0 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 environment. 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 one another. 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. Features Messaging - 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) Directory Services - Scripts - 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 - Caching Time Services - Time arithmetic - Time stamps - String formatting - Time zone conversions DDM - 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, Begin..End) - SQL92/Sybase interoperability - Support for legacy databases - Distribution of data handled by DBA and DA, not the application programmer DOMEShell - Scripting, full lexical parsing, regular expressions, flow control, buffer management. - Ability to invoke all DOME services from within script EventServices - Event Queueing - Callbacks - Event Priority Scheduling Management Services - Process recovery - Utilities Programming Services - Trace facilities - Playback capability for debugging and audit purposes - Error Logging - Error Recovery - Exception Handling Object Services - Object store - Object location - Object registration Contact SuiteSoftware Anaheim, USA tel: +1 714 938 8850 fax: +1 714 978 1840 email: email@example.com 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. Version: 1.2.2 Number of Objects: 15 Key Objects: - Integer object for fast, exact, multiprecision integer arithmetic - Polynomial object for advanced, polynomial arithmetic, over arbitrary domains - Matrix object for working with matrices of polynomials, fractions etc. 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: "http://www.can.nl/~stes". Contact David Stes http://www.can.nl/~stes/ TipTop Software 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 come... 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 caller. - Extend existing applications. The Objective-Framework runtime library can be linked with any NEXTSTEP/OpenStep application to easily provide a high-level control (scripting) languages. - 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 Perl. - 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: ftp://ftp.tiptop.com/pub/Objective/ Objective-Browser 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 during execution. 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. Contact Information: TipTop Software PO Box 30681 Bethesda, MD 20824-0681 USA tel: +1-301-656-3837 fax: +1-301-656-8432 www: http://www.tiptop.com email: firstname.lastname@example.org GPL Kits objcX An alpha version of an GNU Objective-C class library for X/Motif Windows is available via anonymous ftp from ftp://ftp.slac.stanford.edu/software/ObjC/objcX-0.87.tar.gz 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. Contact 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 ftp.cs.rochester.edu:pub/libcoll/libtclobjc-1.0.tar.gz 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. Contact 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 libFoundation [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 GNU compiler. Coming soon are Distributed Objects and Unicode support in NSString. You can download the sources from ftp://ftp.net-community.com/pub/Free/libFoundation-0.8.0.tar.gz. More information about libFoundation and related work can be found at http://www.net-community.com/Users/~ovidiu Contact: 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 subclass thereof. 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) functions. 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 for details. TL is available through anonymous FTP at ftp://ftp.ics.ele.tue.nl/pub/users/tiggr/tl.tar.gz. Contact Pieter Schoenmakers email: firstname.lastname@example.org tel: +31 40 2473387 (work, voice) Public Domain Kits IconKit 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 applications: - 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. Distribution ------------ 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, ftp.cs.orst.edu: /pub/next/sources/objects/IconKit-1.2.* /pub/next/binaries/util/FileViewer-1.2.* ftp.informatik.uni-muenchen.de /pub/comp/platforms/next/Developer/objc/iconkit/IconKit-1.2.* FileViewer is a compiled MAB version of an example application that recreates the NEXTSTEP file browser. Complete source is included in IconKit-1.2. 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! Contact H. Scott Roy 2573 Stowe Ct. Northbrook, IL 60062-8103 email: email@example.com inetpak 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) webserver. The package has been built on HP-UX, IRIX, Freebsd and Linux. inetpak is available from http://www.can.nl/~stes/Software/inetpak-0.0.1.tar.gz. [Entry-up-to-date: Fri Sep 11 16:33:21 1998] nproducer A compiler for semi-automatically translating Smalltalk code (such as code developed in Squeak) towards Objective-C. nproducer is available from http://sunsite.unc.edu/pub/Linux/devel/lang/objc/nproducer-1.1.2.tar.gz [Entry-up-to-date: Fri Sep 11 16:34:06 1998] Various authors MiscKit [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: ftp://next-ftp.peak.org/pub/next/sourcelibrary/misckit/MiscKit.1.10.0.s.gnutar.gz ftp://ftp.thoughtport.com/pub/next/misckit/MiscKit1.10.0.s.gnutar.gz ftp://ftp.informatik.uni-muenchen.de/pub/comp/platforms/next/Developer/resources/classes/misckit/MiscKit.1.10.0.s.gnutar.gz There is a quad fat binary release accompanying this release: ftp://ftp.thoughtport.com/pub/next/misckit/MiscKit1.10.0.b.NIHS.gnutar.gz ftp://ftp.informatik.uni-muenchen.de/pub/comp/platforms/next/Developer/resources/classes/misckit/MiscKit.1.10.0.b.NIHS.gnutar.gz 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 much more! 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 development efforts. 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. Contact Don Yacktman (801)221-0344 firstname.lastname@example.org http://www.misckit.com/ CCRMA MusicKit 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. (from Documentation/MusicKit+DSP/General/SoundMusicDSP.rtfd) MusicKit used to be supplied by NeXT as part of NeXTSTEP (pre 3.0). It is now maintained by CCRMA and available in two packages: ftp://ccrma-ftp.stanford.edu/pub/NeXT/MusicKit_4.1.1.pkg.tar NI-fat Class library, header files, documentation, programming examples, and a suite of applications (size = 13MB). ftp://ccrma-ftp.stanford.edu/pub/NeXT/MusicKitSource_4.1.1.pkg.tar Source of the MusicKit class library (size = 5MB). Contact email: email@example.com ObjectPak `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, AIX). 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". Contact David Stes http://www.can.nl/~stes/ ADMINISTRATIVIA 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 to email@example.com.