@c Emulate the `@ifnottex' command which is found in Texinfo 4.0
@ifclear IS_TEX
@menu

@ifset CLASSREF
* Overview::            What GNU Smalltalk is.
* Installation::        How to build and install GNU Smalltalk.
* Using GNU Smalltalk:: Running GNU Smalltalk.
* Features::            A description of GNU Smalltalk's special features.
* C and Smalltalk::     GNU Smalltalk's C/Smalltalk interoperability features.
* Tutorial::            An introduction to Smalltalk and OOP.
* Class reference::     Reference to GNU Smalltalk classes.
* Future::              Tasks for GNU Smalltalk's subsequent releases.
                        Volunteers to help out in performing some of these
                        tasks would be greatly appreciated.
                        Please see this node to find out what you can do
                        to help make GNU Smalltalk a truly winning system.
* Acknowledgements::    Who helped in various ways with making GNU
                        Smalltalk how it is now.
@end ifset

@ifclear CLASSREF
* Overview::            What GNU Smalltalk is.
* Installation::        How to build and install GNU Smalltalk.
* Using GNU Smalltalk:: Running GNU Smalltalk.
* Features::            A description of GNU Smalltalk's special features.
* C and Smalltalk::     GNU Smalltalk's C/Smalltalk interoperability features.
* Tutorial::            An introduction to Smalltalk and OOP.
* Future::              Tasks for GNU Smalltalk's subsequent releases.
                        Volunteers to help out in performing some of these
                        tasks would be greatly appreciated.
                        Please see this node to find out what you can do
                        to help make GNU Smalltalk a truly winning system.
* Acknowledgements::    Who helped in various ways with making GNU
                        Smalltalk how it is now.
@end ifclear

@detailmenu
--- The detailed node listing ---

Installation:
* Compiling::           How to compile the @gst{} system.
* More legal stuff::    Legal consequences of including Smalltalk in your
                        programs.
* Extending::           How to add your own features to @gst{}.

Invocation:
* Invocation::          What you can specify on the command line.
* Operation::           A step-by-step description of the
                        startup process and a short description of
                        how to interact with @gst{}.
* Syntax::              A description of the input file syntax
* Test suite::          How to run the test suite system.

Features:
* A few methods::      Assistance for debugging, informational messages,
                       environment variables, creating images and more.
* Memory access::      The direct memory accessing classes and methods.
* Namespaces::         Avoiding clashes between class names.
* Disk file-IO::       Methods for reading and writing disk files.
* Object dumping::     Methods that read and write objects in binary format.
* FileIn::             Explicitly load Smalltalk files by using the
                       @code{fileIn:} message.
* Special objects::    Methods to assign particular properties to objects.
* Context unwinding::  A way to protect execution of blocks from exceptions.
* Packages::           An easy way to install Smalltalk code into an image.

Packages
* Blox::               GNU Smalltalk's user interface building blocks.
* Compiler::           A Smalltalk compiler written in itself.
* Dynamic loading::    Provides full extensibility for GNU Smalltalk.
* TCP::                An interface to TCP/IP and UDP, to be used either
                       locally or on the Internet.
* XML::                An HTML and XML parser and Document Object Model.

C and Smalltalk:
* C callout::          Calls from Smalltalk to C.
* C data types::       Manipulating C data from Smalltalk.
* Incubator::          Protecting newly created objects from garbage
                       collections.
* Smalltalk types::    Manipulating Smalltalk data from C.
* Smalltalk callin::   Calls from C to Smalltalk.
* Using Smalltalk::    Using the Smalltalk environment as an extension library.

Tutorial:
* Getting started::              Starting to explore GNU Smalltalk
* Some classes::                 Using some of the Smalltalk classes
* The hierarchy::                The Smalltalk class hierarchy
* Creating classes::             Creating a new class of objects
* Creating subclasses::          Adding subclasses to another class
* Code blocks (I)::              Control structures in Smalltalk
* Code blocks (II)::             Guess what? More control structures
* Debugging::                    Things go bad in Smalltalk too!
* More subclassing::             Coexisting in the class hierarchy
* Streams::                      Something really powerful
* Behind the scenes::            Some nice stuff from the Smalltalk innards
* And now::                      Some final words
* Acknowledgements::             The word says it all
* The syntax::                   For the most die-hard computer scientists


@end detailmenu
@end menu
@end ifclear