0.7.6.17:
[sbcl.git] / TLA
1 (TLA = "three letter acronym/abbreviation":-)
2
3 abbreviations we try to use pervasively in the system
4
5 As Dan Barlow pointed out long ago on the mailing list, unabbreviated
6 names are easier to deal with than abbreviated names, because you
7 never need to remember what abbreviation to use. That's true, but in a
8 language like Lisp which depends on compound names for important
9 things like structure accessors, that can lead to painful names like
10 MAKE-EXTERNAL-ENTRY-POINT-LAMBDA-EXPRESSION and associated indenting
11 confusion.
12
13 In an effort to have some of the best of both worlds, I've attempted
14 to impose standard abbreviations for some things. Ideally, you don't
15 need to remember whether to abbreviate it, or what abbreviation to
16 use, because it's always the same abbreviation.
17
18 Some of these already were used pretty consistently in CMU CL.
19 Others not so much, but in sbcl-0.7.0 I put some effort into
20 making them more consistent.
21         ARG     argument
22         FUN     function
23         GC      garbage collect(ion)
24         N       new: number, as in e.g. N-PASSES or N-WORD-BITS
25                 old: conventional prefix for temporary variables used to
26                         implement evaluate-only-once semantics in macros
27         SB      storage base (in compiler IR2)
28         SC      storage class (in compiler IR2)
29         TN      temporary name (?) (in compiler IR2)
30         VAR     variable (in the lisp entity "noun" sense, not in the 
31                         adjectival sense)
32         XEP     external entry point
33 Making them even more consistent (within the limits of ANSI and 
34 MOP compatibility) would probably be good.