This is the baseline naming convention that RnRS has specified.
predicate, returns a boolean value
mutates data (e.g., set-car! assigns the car of a pair)
type/representation conversion from foos to bars, such as string->number
a global, mutable variable/parameter
a low-level procedure
for explicitly noting the namespace from which a name comes, typically only when there would otherwise be significant ambiguity or when the name is intended to be hidden
Is used as prefix and postfix for keywords, and infix for field accessors in records.
constant binding -- note, though, that, although the languages from which this convention originates will distinguish these names, the case of written symbols in Scheme is not preserved (only for R5RS and earlier; symbols in R6RS are case-sensitive)
also used to denote constants; used in Common Lisp
'includes the internal logic, which the non-* version is just a wrapper around that frobnicates (tweak) the inputs first
Implies a lower-level procedure, to denote a slight variation on the non-asterisked procedure or special form, to denote an internal routine
Also implies a lower-level procedure
is usually a constant named Y of a set of such constants each related by some common theme of X (e.g., TAG/FIXNUM, TAG/IMMEDIATE, TAG/HEADER, TAG/POINTER) or an abbreviation of with (e.g. call-with-current-continuation).
Also used to specify a namespace
Is used to denote class names (See object-oriented-programming)
(Dylan) a global constant binding
(Scheme48) the name of a variable bound to a fluid, essentially a dynamically scoped entity
(plt-scheme) Class
(plt-scheme) interface
(plt-scheme) Unit, especially a signed unit
(plt-scheme) unit signature