Table of Contents
Introduction
1. Using
GNU
Smalltalk
1.1 Command line arguments
1.2 Startup sequence
1.2.1 Picking an image path and a kernel path
1.2.2 Loading an image or creating a new one
1.2.3 After the image is created or restored
1.3 Syntax of
GNU
Smalltalk
1.4 Running the test suite
1.5 Licensing of
GNU
Smalltalk
1.5.1 Complying with the
GNU
GPL
1.5.2 Complying with the
GNU
LGPL
2. Features of
GNU
Smalltalk
2.1 Extended streams
2.2 Regular expression matching
2.3 Namespaces
2.3.1 Introduction
2.3.2 Concepts
2.3.3 Syntax
2.3.4 Implementation
2.3.5 Using namespaces
2.4 Disk file-IO primitive messages
2.5 The
GNU
Smalltalk ObjectDumper
2.6 Dynamic loading
2.7 Automatic documentation generator
2.8 Memory accessing methods
2.9 Memory management in
GNU
Smalltalk
2.10 Security in
GNU
Smalltalk
2.11 Special kinds of objects
3. Packages
3.1 GTK and VisualGST
3.2 The Smalltalk-in-Smalltalk library
3.3 Database connectivity
3.4 Internationalization and localization support
3.5 The Seaside web framework
3.6 The Swazoo web server
3.7 The SUnit testing package
3.7.1 Where should you start?
3.7.2 How do you represent a single unit of testing?
3.7.3 How do you test for expected results?
3.7.4 How do you collect and run many different test cases?
3.7.5 Running testsuites from the command line
3.8 Sockets, WebServer, NetClients
3.9 An XML parser and object model for
GNU
Smalltalk
3.10 Other packages
4. Smalltalk interface for
GNU
Emacs
4.1 Smalltalk editing mode
4.2 Smalltalk interactor mode
5. Interoperability between C and
GNU
Smalltalk
5.1 Linking your libraries to the virtual machine
5.2 Using the C callout mechanism
5.3 The C data type manipulation system
5.4 Manipulating Smalltalk data from C
5.5 Calls from C to Smalltalk
5.6 Smalltalk blocks as C function pointers
5.7 Other functions available to modules
5.8 Manipulating instances of your own Smalltalk classes from C
5.9 Using the Smalltalk environment as an extension library
5.10 Incubator support
6. Tutorial
6.1 Getting started
6.1.1 Starting up Smalltalk
6.1.2 Saying hello
6.1.3 What actually happened
6.1.4 Doing math
6.1.5 Math in Smalltalk
6.2 Using some of the Smalltalk classes
6.2.1 An array in Smalltalk
6.2.2 A set in Smalltalk
6.2.3 Dictionaries
6.2.4 Closing thoughts
6.3 The Smalltalk class hierarchy
6.3.1 Class
Object
6.3.2 Animals
6.3.3 The bottom line of the class hierarchy
6.4 Creating a new class of objects
6.4.1 Creating a new class
6.4.2 Documenting the class
6.4.3 Defining a method for the class
6.4.4 Defining an instance method
6.4.5 Looking at our Account
6.4.6 Moving money around
6.4.7 What's next?
6.5 Two Subclasses for the Account Class
6.5.1 The Savings class
6.5.2 The Checking class
6.5.3 Writing checks
6.6 Code blocks
6.6.1 Conditions and decision making
6.6.2 Iteration and collections
6.7 Code blocks, part two
6.7.1 Integer loops
6.7.2 Intervals
6.7.3 Invoking code blocks
6.8 When Things Go Bad
6.8.1 A Simple Error
6.8.2 Nested Calls
6.8.3 Looking at Objects
6.9 Coexisting in the Class Hierarchy
6.9.1 The Existing Class Hierarchy
6.9.2 Playing with Arrays
6.9.3 Adding a New Kind of Number
6.9.4 Inheritance and Polymorphism
6.10 Smalltalk Streams
6.10.1 The Output Stream
6.10.2 Your Own Stream
6.10.3 Files
6.10.4 Dynamic Strings
6.11 Exception handling in Smalltalk
6.11.1 Creating exceptions
6.11.2 Raising exceptions
6.11.3 Handling exceptions
6.11.4 When an exception isn't handled
6.11.5 Creating new exception classes
6.11.6 Hooking into the stack unwinding
6.11.7 Handler stack unwinding caveat
6.12 Some nice stuff from the Smalltalk innards
6.12.1 How Arrays Work
6.12.2 Two flavors of equality
6.12.3 The truth about metaclasses
6.12.4 The truth of Smalltalk performance
6.13 Some final words
6.14 A Simple Overview of Smalltalk Syntax
This document was generated on
February, 22 2012
using
texi2html