Merge branch 'master' of ssh://jmd@git.sv.gnu.org/srv/git/pspp
[pspp-builds.git] / doc / dev / data.texi
1 @node Processing Data
2 @chapter Processing Data
3
4 Developer's Guide
5
6 Proposed outline:
7
8 @example
9 * Introduction
10 * Basic concepts
11 ** Data sets
12 ** Variables
13 ** Dictionaries
14 ** Coding conventions
15 ** Pools
16 * Syntax parsing
17 * Data processing
18 ** Reading data
19 *** Casereaders generalities
20 *** Casereaders from data files
21 *** Casereaders from the active file
22 *** Other casereaders
23 ** Writing data
24 *** Casewriters generally
25 *** Casewriters to data files
26 *** Modifying the active file
27 **** Modifying cases obtained from active file casereaders has no real effect
28 **** Transformations; procedures that transform
29 ** Transforming data
30 *** Sorting and merging
31 *** Filtering
32 *** Grouping
33 **** Ordering and interaction of filtering and grouping
34 *** Multiple passes over data
35 *** Counting cases and case weights
36 ** Best practices
37 *** Multiple passes with filters versus single pass with loops
38 *** Sequential versus random access
39 *** Managing memory
40 *** Passing cases around
41 *** Renaming casereaders
42 *** Avoiding excessive buffering
43 *** Propagating errors
44 *** Avoid static/global data
45 *** Don't worry about null filters, groups, etc.
46 *** Be aware of reference counting semantics for cases
47 @end example