Macro characters used by various libraries:
direct character definition
# dispatch
(Note that the subchar dispatching is done case insensitively, so we list only uppercase letters, but the corresponding lower case letter may be used too (and might be used often for better readability, notably when a numerical argument is present before and after the subchar)).
Char |
Meaning |
Used by |
? |
String interpolation |
cl-interpol |
? |
Read-time evaluation |
read-macros |
? |
complex feature expression |
stmx |
` (backquote) |
Shell command output substitution |
clawk |
` (backquote) |
trivial-positional-lambda |
rutils |
` (backquote) |
repeated expression |
sharp-bq |
/ |
rune (Unicode character) |
closure-common, FXML
|
/ |
Regular expression symbol |
clawk |
/ |
Dispatched literal object |
IOlib |
/ |
One-parameter lambda |
one |
/ |
Objective-C method |
CCL, Objective-CL
|
/ |
character code |
Lisp Machines |
/ |
raw strings |
rutils |
/ |
URI template |
CLiki2 |
_ (underscore) |
FFI Traps |
CCL |
_ (underscore) |
A lookup for Qt functionality |
CommonQt |
_ (underscore) |
physical quantity |
Antik |
_ (underscore) |
namespaced symbol |
OCML |
$ (dollar sign) |
FFI Constants |
CCL |
$ (dollar sign) |
shell expression |
SHCL |
$ (dollar sign) |
frame reference |
BioBike |
$ (dollar sign) |
case-sensitive symbol |
c-amplify |
& (ampersand) |
FFI Variables |
CCL |
> |
FFI Structures |
CCL |
> |
Here document |
Antiweb, Consfigurator
|
! (exclamation) |
Unix shell scripting (known as "shebang") |
CLISP and others |
! (exclamation) |
uiop:run-program |
reader |
! (exclamation) |
package control |
ACL2 |
! (exclamation) |
negative matching |
Consfigurator |
! (exclamation) |
object labeling |
Clobber |
! (exclamation) |
complement |
littleb |
^ (caret) |
deferred symbol |
Deferred |
^ (caret) |
object reference |
Clobber |
^ (caret) |
frame accessor |
BioBike |
, (comma) |
read-time application |
SRFI-10 |
, (comma) |
load-time evaluation |
CLtL1, Lisp Machines, MACLISP
|
@ |
read-time splicing |
cl-rttemplate |
@ |
infinite values |
GBBopen |
@ |
universal time |
local-time |
@ |
package control |
PKG, read-package
|
@ |
S-boxes |
Ironclad |
@ |
URI |
Radiance |
~ (tilde) |
case-sensitive reading |
cs-forms |
~ (tilde) |
numerical value with errors |
cl-ana |
~ (tilde) |
Perl-style regular expression |
Antiweb, Consfigurator
|
" (double quote) |
Nestable quoted string |
Antiweb |
" (double quote) |
Special strings |
stringtable |
" (double quote) |
Java method |
jss |
" (double quote) |
symbol namestring |
symbol-namestring |
" (double quote) |
a read-time quasiquote |
cl-rttemplate |
" (double quote) |
pathnames (predates #P?) |
CLISP |
" (double quote) |
rod (Unicode string) |
closure-common, FXML
|
; (semicolon) |
commenting forms |
SRFI-62, comment-form
|
⋄ (diamond) |
infix expression |
Lisp Machines |
[ |
intervals |
math-extensions |
[ |
type constraint |
folio2 |
[ |
CLOS object |
CLLIB |
[ |
temporary object |
littleb |
[ |
indexed access |
bike |
[ |
typed tuple |
cl-tuples |
[ |
flat selector |
LQN |
[ |
templates |
CLESH |
[ |
ARRAY |
reader |
{ |
VALUES |
cl-tuples |
{ |
enumerated sets |
math-extensions |
{ |
storable templates |
CLESH |
{ |
list-as-set |
reader |
{ |
JSON object |
json |
{ |
C-style syntax |
with-c-syntax |
{ |
map selector |
LQN |
{ |
Fancy string literal |
ACL2 |
{ |
fixed-size hash table |
rutils |
% |
Clojure-style placeholder syntax |
cl-competitive, cl-anonfun
|
% |
quoted case-preserving reader |
JSGEN |
D |
BSON document |
cl-bson |
D |
DOT syntax |
access |
D |
rich documentation |
schemeish |
D |
timepoint |
Antik |
E |
case-sensitive token |
CL-HTTP |
E |
MAC address |
Slitch |
E |
enumerated type |
bike |
F |
KR formula |
KR |
F |
scientific notation |
ACL2 |
G |
generic dispatch |
GBBopen |
G |
guard clauses |
schemeish |
G |
garray readably
|
BioBike |
H |
hash table |
CLLIB, rutils
|
H |
quaternions |
math-extensions |
H |
HTML template |
CLiki2 |
I |
Infix syntax |
polisher, infix.cl
|
I |
i18n formatted |
cl-locale |
I |
include path |
littleb |
I |
object ID |
cl-bson |
J |
JavaScript |
valtan |
K |
combining keyword arguments |
cl-ana |
K |
KR object |
KR |
K |
key specification |
Hemlock |
L |
i18n unformatted |
cl-locale |
L |
logical pathname |
ACL |
L |
LAMBDA shorthand, e.g. #L(list* !1 '- !2) with two parameters |
iterate |
M |
Money: #978m123.43 = 123.43 EUR; #840m123.43 = 123.43 USD |
com.informatimago.common-lisp.invoice (should be extracted as a stand-alone library, bug Pascal Bourguignon) | .
M |
dim-numbers, e.g. #M10km/h |
Measures |
M |
grid constructor |
Antik |
M |
markup |
cl-markup |
M |
abbreviated map |
Series |
N |
Infix syntax |
mexpr |
O |
octonions |
math-extensions |
Q |
quad-double |
Oct |
Q |
quantity with units |
cl-ana |
R |
regular expression |
re |
R |
range object |
map |
T |
tensor mapping |
cl-ana |
T |
Tcl expression |
clTcl |
T |
case-insensitive token |
CL-HTTP |
U |
URLs |
CL-HTTP, ACL, Puri, uri-template, cl-uri-templates
|
U |
embedded underscores |
ACL2 |
V |
semantic version |
cl-semver |
V |
expanding range |
map |
V |
adjustable vector |
rutils |
Y |
CONS serialization |
ACL2 |
Z |
HONS serialization |
ACL2 |
Z |
Series literal |
Series |
It might be good to indicate which of these are used as an output representation (with *print-readably* on), and which are intended for input by the user.
Programming Tips