The current structuring of chapters 10, 11, and 12 has more to do
with where a function is defined and what language it is written in
(Q or C) than with what it does, so the user ends up having to search
all three chapters to find things. This is particularly painful when
using a printed manual, of course, and an index wouldn't help that much
unless you know the name of what you are looking for. Since most people
load the whole standard prelude, the boundaries between modules are of
secondary importance at best. Restructuring by function would make it
possible to find all the functions for working with tuples in one place,
with just an annotation to note which ones are built-in, part of tuple.q,
or whatever, just as is done now in the Clib chapter.
I propose the following restructuring:
Chapter 10: The Standard Library: Values and Data Structures
Predicates [11.5 + 10.8 is* + 11.1 eq, neq]
Numeric Functions
Basic Numeric Functions [10.1 + 10.2 random, seed
+ 11.1 abs, max, min, nums, numsby, sgn]
Integer Functions [12.19]
Floating-Point Functions [rest of 10.2 + 11.10]
Rational Numbers [11.12]
Complex Numbers [11.11]
Sequence Functions
Basic Sequence Functions [10.3 + 11.6]
List Functions [rest of 11.1]
Tuple Functions [11.2]
String Functions [11.3 + 12.2]
Byte Strings [12.3]
References [12.14]
Regular Expressions [12.18]
Streams [11.8]
Function Functions [11.1 curry, curr3, id, uncurry, uncurry3 + 10.8 flip]
Lambda Expressions [10.6]
Exceptions [10.7 + 11.14]
Conversion Functions [10.4, perhaps some from other places]
The Standard Type Library [11.7]
Chapter 11: The Standard Library: I/O
Input/Output Functions
Basic I/O [10.5 + 12.4]
Formatted I/O [12.5]
Files and Directories [12.6]
Graphics [11.13]
System Information [rest of 10.8 + 12.11]
Chapter 12: The Standard Library: Posix
Manifest Constants [12.1]
Process Control [12.7]
Low-Level I/O [12.8]
Terminal Operations [12.9]
Readline Interface [12.10]
Sockets [12.12]
Threads [12.13]
Time Functions [12.15]
Internationalization [12.16]
Filename Globbing [12.17]
Option Parsing [11.4]
The special forms in 11.9 (cond.q) should be moved to Chapter 9.
I've probably overlooked some individual functions that should be moved.
--
Clear? Huh! Why a four-year-old child John Cowan
could understand this report. Run out co...@cc...
and find me a four-year-old child. I http://www.ccil.org/~cowan
can't make head or tail out of it.
--Rufus T. Firefly on government reports
|