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