11 >You can actually put any English text to break up the menu, so you
12 >could put the "Part n" headings in it.
17 --- Explains Guile's goals, and gives brief examples of how to use
18 Guile interactively (show off repl), as a script interpreter,
19 and as an embedded interpreter.
22 R4RS Scheme as a Starting Point
23 --- Here we refer to R4RS, and explain that we're only
24 describing differences.
25 Block comments and interpreter triggers
30 --- the preceeding three come first, because we need them
31 in order to explain the behavior of some things later
33 --- mention that repls usually establish default exception handlers
38 Binary Numeric Operations
39 Shared and Read-Only Strings
41 Association Lists and Hash Tables
42 (Dictionaries In General)
44 hash tables (Hash Values)
49 extended I/O (fseek; line read/write)
51 Threads and Dynamic Roots
58 POSIX system calls and networking
59 --- I think people will generally know whether they're looking
60 for a system call or not, so this should be an okay category.
61 conventions (includes error handling)
62 ports vs. file descriptors
63 file system (mknod goes here, no?)
65 time (includes gettimeofday or whatever, strftime, strptime)
67 terminals and pseudo-terminals
69 networking (includes databases, address conversion, and sockets)
70 system identification (uname)
72 --- Note that there is no more 'misc'. It's better to have
73 small sections than unhelpful names.
75 --- includes info on how to get SCSH features (open this
76 module), but mostly just a pointer to the SCSH manual.
77 This should not be under POSIX. SCSH includes plenty of
78 high-level stuff for starting processes and string
79 processing. SCSH is not a subset of POSIX, nor the
85 internal debugging interface
86 --- The name of this chapter needs to clearly distinguish it
87 from the appendix describing the debugger UI. The intro
88 should have a pointer to the UI appendix.
90 Part II: Using Scheme with C --- a Portable Interface
91 --- We cover gh in a completely separate section. Why? I admit
92 I'm on shaky ground, but here's my reasoning: People who want
93 to write portable C code need to restrict themselves to only
94 using GH, and GH's semantics are (necessarily) well-defined
95 without reference to Guile's particulars. This makes life
96 more difficult for folks who just prefer to use the GH
97 interface when they can, but I really think the SCM interface
98 is not so bad, once you're used to it. A *lot* of GH
99 functions are just wrappers for SCM functions.
100 --- We cover repls here too, since GH has repl functions.
102 Part III: Using Scheme with C --- Guile's Interface
103 Scheme data representation
104 Relationship between Scheme and C functions
105 --- this is where we explain that all the functions marked as
106 "Primitive Functions" are also accessible from C, and how
107 to derive the C interface given the Scheme interface, when
108 we don't spell it out.
109 ... I think there's other stuff needed here ...
111 linking Guile with your code
112 --- Mark's "Tools to automate adding libraries" is not a
113 well-defined concept. I think this is closer to what we
114 want to cover for now.
118 Obtaining and Installing Guile
120 --- mentions read-eval-print loops
121 --- both the SCSH and GAWK manuals relegate invocation details
122 to an appendix. We can give examples in the introduction.
123 debugger user interface
124 --- The title and introduction of this appendix need to
125 distinguish this clearly from the chapter on the internal
129 --- At the top of the function/variable index, remind people
130 to look for functions under their Scheme names as well as