The "Missing:"s below indicate that an entry is incomplete.
nothing needed | breaking lines (useful when end-of-line and/or indentation has a special meaning) |
; | commenting (until end of line) |
< > <= >= | comparison |
(defun f (para1 para2) "..." ...) | documentation comment |
equal | equality / inequality (deep) |
eq ne | equality / inequality (shallow) |
eval | runtime evaluation |
hyphens | tokens (if case sensitive, what is the standard way for scrunching together multiple words) |
setq | variable assignment or declaration (assignment) |
Missing:
information about the current line and file
tokens (case-sensitivity (keywords, variable identifiers...))
tokens (variable identifier regexp)
block (grouping statements, especially when statements are not expressions)
comparison (returns 3 values (i.e. inferior, equal or superior))
comparison (min / max (binary or more))
force garbage collection
(lambda (a b) ...) | anonymous function |
(f a b ...) (apply f l) (funcall f a b ...) | function call |
(f) (funcall f) | function call (with no parameter) |
(defun f (para1 para2) ...) | function definition |
no syntax needed | function return value (function body is the result) |
Missing:
partial application (in the examples below, a normal call is "f(a,b)") (give the first argument)
partial application (in the examples below, a normal call is "f(a,b)") (give the second argument)
partial application (in the examples below, a normal call is "f(a,b)") (give the first argument to operator ">")
partial application (in the examples below, a normal call is "f(a,b)") (give the second argument to operator ">")
function called when a function is not defined (in dynamic languages)
runtime inspecting the caller information
function composition
identity function
unwind-protect | exception (cleanup: code executed before leaving) |
error | exception (throwing) |
(when c b) | if_then |
(cond (c b1) (c2 b2) (t b3)) | if_then_else |
unless | ifnot_then (unless) |
(progn ...) (prog1 ...) (prog2 ...) | sequence |
Missing:
multiple selection (switch)
loop (forever loop)
loop (while condition do something)
loop (do something until condition)
loop (for each value in a numeric range, 1 increment (see also the entries about ranges))
loop (for each value in a numeric range, 1 decrement)
loop (for each value in a numeric range, free increment)
loop (for "a la C" (while + initialisation))
breaking control flow (returning a value)
breaking control flow (goto (unconditional jump))
breaking control flow (continue / break)
exception (catching)
purecopy | object cloning |
?z | character "z" |
prin1-to-string | convert something to a string (see also string interpolation) |
all strings allow multi-line strings | multi-line |
princ prin1 | simple print (on any objects) |
message | simple print (on strings) |
"..." | strings (verbatim) |
upcase / downcase | upper / lower case character |
upcase / downcase | uppercase / lowercase / capitalized string |
Missing:
strings (with interpolation)
strings (end-of-line (without writing the real CR or LF character))
serialize (marshaling)
unserialize (un-marshaling)
sprintf-like
string equality & inequality
string size
string concatenation
duplicate n times
ascii to character
character to ascii
accessing n-th character
extract a substring
locate a substring
locate a substring (starting at the end)
nil | false value |
not | logical not |
or / and | logical or / and (short circuit) |
t / anything not false | true value |
cons | adding an element at the beginning (list cons) (return the new list (no side-effect)) |
cdr | all but the first element |
car | first element |
mapc | for each element do something |
(mapconcat 'identity l glue) | join a list of strings in a string using a glue string |
(car (last lst)) | last element |
append nconc | list concatenation |
'(a b c) | list constructor |
list | list constructor |
length | list size |
nth / aref | list/array indexing |
assoc assq | lookup an element in a association list |
reverse | reverse |
mapcar | transform a list (or bag) in another one |
Missing:
list flattening
adding an element at index
adding an element at the end
get the first element and remove it
get the last element and remove it
transform two lists in parallel
find an element
keep elements matching
f(... f(f(init, e1), e2) ..., en)
f(e1, f(e2, ... f(en, init) ...))
split a list in 2 based on a predicate
is an element in the list
is the predicate true for an element
is the predicate true for every element
smallest / biggest element
iterate with index
remove duplicates
sort
list of couples from 2 lists
2 lists from a list of couples
nil | optional value (null value) |
#f () | optional value (null value) |
v | optional value (value) |
Missing:
tuple constructor
computable tuple (these are a kind of immutable lists playing a special role in parameter passing) (empty tuple)
computable tuple (these are a kind of immutable lists playing a special role in parameter passing) (1-uple)
computable tuple (these are a kind of immutable lists playing a special role in parameter passing) (using a tuple for a function call)
reference (pointer) (creation)
reference (pointer) (dereference)
record selector
dictionary (constructor)
dictionary (access)
dictionary (has the key ?)
dictionary (remove by key)
dictionary (list of keys)
dictionary (list of values)
range
+ / - / * / / | addition / subtraction / multiplication / division |
expt | exponentiation (power) |
log / | logarithm |
mod | modulo (modulo of -3 / 2 is 1) |
- | negation |
1000.0, 1E3 | numbers syntax (decimals) |
#b1, #o7, #xf | numbers syntax (integers in base 2, octal and hexadecimal) |
#2r1, #8r7, #16rf | numbers syntax (integers in base 2, octal and hexadecimal) |
1000, 1000. | numbers syntax (integers) |
sqrt / exp / abs | square root / e-exponential / absolute value |
sin / cos / tan | trigonometry (basic) |
/ round / floor / ceiling | truncate / round / floor / ceil |
Missing:
numbers syntax (integer thousand-seperator)
random (random number)
random (seed the pseudo random generator)
trigonometry (inverse)
bitwise operators