0.8.13.44:
[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         DX      dynamic-extent
23         FUN     function
24         GC      garbage collect(ion)
25         N       new: number, as in e.g. N-PASSES or N-WORD-BITS
26                 old: conventional prefix for temporary variables used to
27                         implement evaluate-only-once semantics in macros
28         NLE     non-local entry
29         NLX     non-local exit (in compiler IR2)
30         SB      storage base (in compiler IR2)
31         SC      storage class (in compiler IR2)
32         TN      temporary name (?) (in compiler IR2)
33         VAR     variable (in the lisp entity "noun" sense, not in the 
34                         adjectival sense)
35         XEP     external entry point
36 Making them even more consistent (within the limits of ANSI and 
37 MOP compatibility) would probably be good.