Programming with Data
A Guide to the S Language
This book is a guide and reference to the version of S underlying
S-Plus Versions 5.0 and later (not directly useful if you are
programming with versions 3.x, 4.x, or 2000 of S-Plus).
The book is published by Springer-Verlag.
The ISBN is 0-387-98503-4 and the publication date 1998.
If you don't have the book and are interested, you can look at the preface and
contents in postscript.
An earlier article
from the 1996 Interface Conference gives some underlying design
goals for the revisions in S. It is a little out of date (especially in not discussing the use of SGML as a model for the online
documentation), but covers the general philosophy of the language.
This web site provides a focus for extensions, details and errata.
The material
either surfaced after the book was published or else carries the discussion
beyond the scope of the book.
There are also pointers to other topics related to S and the book, but
not directly part of the language.
If you're new to S/S-Plus, or just want some background information,
click here.
Detailed Discussions
The following pages extend the discussion of topics in the book to
newer material and/or to details that just didn't make the cutoff.
-
Method Dispatch
- Variations on choosing and invoking a method.
-
Database Classes &
More on Databases
- make most anything into an S database, plus some other hints.
-
Committing Assignments
- Details on how it works, and on
options("immediate")
.
-
Objects in an Old-Style Method
- If the old-style generic modifies objects before calling
UseMethod
, what happens?
-
Lazy Evaluation and Missing Arguments
- Some details on when arguments are really evaluated,
and what happens if they're missing.
-
Versions of Classes and
Generic Functions
- New tools to detect, and avoid, inconsistent definitions of
classes and generic functions.
-
Loading C Code & Libraries
- A few tricks and traps in attaching chapters.
-
More on Programming the S evaluator
in C
- Details, and a few new tools, to use the evaluator more safely
from C/C++.
-
Using Old-Style Methods for the
plot
Function
- Details, and a few new tools, to use the evaluator more safely
from C/C++.
Documentation
The book describes the essentials of S programming to use and produce
online documentation for functions, classes and methods.
The S documentation objects map into the SGML language, opening up
many opportunities for working with the documentation using, for
example, XML tools.
-
The S Documentation System
-
Overview
-
SGML tags
for S
Known Errors in the Book