Reference

Commands

The manual, in Plan 9's sections: what you can type, the library's functions, and the files the servers name. Each entry is read from where the system keeps it, so it says what the running system says.

A program's entry is its file in /prg, which the kernel serves as tools/wire.rkt makes it (sysk 057): first (spec ...), the channels, arguments, needs and letters the job check judges the program by, then (doc ...), the comment above the program's function, a string for each sentence. cat /prg/wc on the system shows the same text. Nothing here is written twice: a new program, or a changed comment, is a new entry at the next make docs. Plan 9 keeps its manual in /sys/man as pages written apart from the code; here the code is the page, as Go's go doc reads comments, and the sections are Plan 9's.

1. Commands

The catalogue's programs, in its order. A job runs one: (wc /notes/x), or sugared, wc -l /notes/x (The shell, Jobs). A part's runner is a directory in /prg: its commands are in section 2.

The shell's own words

The words the shell takes itself, before it looks in the catalogue: each a branch of classify in svc/shell.sysp, in its order. What each does is on The shell, for now; its entry here is to be the comment above its branch.

    2. Library functions

    A library part's function as a command, on a file lent to read: (sysc/sha-256 /notes/letter). Each is a file in /prg/PART, its spec naming the value it gives and the layer it is from; its doc is the function's comment in that part (sysc 014; Files).

    3. Files

    The names the servers give their files, as the function that names them writes them: the kernel's node-name for /sys and /prg, netd's child-name for /net. What each file says is on the tree's page. fsd's files are the ones you make, and have no names of their own.