Introduction What GNU Smalltalk is. 1. Installation How to build and install GNU Smalltalk. 2. Using GNU Smalltalk Running GNU Smalltalk. 3. Features of GNU Smalltalk A description of GNU Smalltalk's special features. 4. Interoperability between C and GNU Smalltalk GNU Smalltalk's C/Smalltalk interoperability features. 5. Tutorial An introduction to Smalltalk and OOP. 6. Class reference Reference to GNU Smalltalk classes. 7. Future directions for GNU Smalltalk Tasks for GNU Smalltalk's subsequent releases. Class index Index to the classes in the class reference Method index Index to the method selectors in the class reference Selector cross-reference Cross-reference between selectors --- The detailed node listing --- Installation: 1.1 Compiling GNU Smalltalk How to compile the GNU Smalltalk system. 1.2 Including GNU Smalltalk in your programs (legal information) Legal consequences of including Smalltalk in your programs. Invocation: 2.1 Command line arguments What you can specify on the command line. 2.2 Startup sequence A step-by-step description of the startup process and a short description of how to interact with GNU Smalltalk. 2.3 Syntax of GNU Smalltalk A description of the input file syntax 2.4 Running the test suite How to run the test suite system. Features: 3.1 Memory accessing methods The direct memory accessing classes and methods. 3.2 Namespaces Avoiding clashes between class names. 3.3 Disk file-IO primitive messages Methods for reading and writing disk files. 3.4 The GNU Smalltalk ObjectDumper Methods that read and write objects in binary format. 3.5 Special kinds of object Methods to assign particular properties to objects. 3.6 The context unwinding system A way to protect execution of blocks from exceptions. 3.7 Packages An easy way to install Smalltalk code into an image. Packages 3.7.1 Blox GNU Smalltalk's user interface building blocks. 3.7.2 The Smalltalk-in-Smalltalk compiler A Smalltalk compiler written in itself. 3.7.3 Dynamic loading through the DLD package Provides full extensibility for GNU Smalltalk. 3.7.4 Internationalization and localization support Lets GNU Smalltalk program be fully internationalized and localized 3.7.6 TCP, WebServer, NetworkSupport An interface to TCP/IP and UDP, to be used either locally or on the Internet, and other aids in writing networked applications. 3.7.7 An XML parser and object model for GNU Smalltalk An XML parser and Document Object Model. 3.7.8 Minor packages Various interesting modules. C and Smalltalk: 4.1 Linking your libraries to the virtual machine 4.2 Using the C callout mechanism Calls from Smalltalk to C. 4.3 The C data type manipulation system Manipulating C data from Smalltalk. 4.4 Manipulating Smalltalk data from C 4.5 Calls from C to Smalltalk 4.8 Using the Smalltalk environment as an extension library 4.9 Incubator support Protecting newly created objects from garbage collections. Tutorial: 5.1 Getting started Starting to explore GNU Smalltalk 5.2 Using some of the Smalltalk classes 5.3 The Smalltalk class hierarchy 5.4 Creating a new class of objects 5.5 Two Subclasses for the Account Class Adding subclasses to another class 5.6 Code blocks Control structures in Smalltalk 5.7 Code blocks, part two Guess what? More control structures 5.8 When Things Go Bad Things go bad in Smalltalk too! 5.9 Coexisting in the Class Hierarchy Coexisting in the class hierarchy 5.10 Smalltalk Streams Something really powerful 5.11 Some nice stuff from the Smalltalk innards 5.12 Some final words 5.13 A Simple Overview of Smalltalk Syntax For the most die-hard computer scientists