The "Missing:"s below indicate that an entry is incomplete.
/* ... */ | commenting (non nestable) |
% | commenting (until end of line) |
< > =< >= | comparison |
compare | comparison (returns 3 values (i.e. inferior, equal or superior)) |
garbage_collect | force garbage collection |
[_a-z][_a-zA-Z0-9']* | tokens (constant regexp (if different from variable identifier regexp)) |
[_a-z][_a-zA-Z0-9]* | tokens (function identifier regexp (if different from variable identifier regexp)) |
[_a-z][_a-zA-Z0-9']* | tokens (type regexp (if different from variable identifier regexp)) |
[_A-Z][_a-zA-Z0-9]* | tokens (variable identifier regexp) |
= | variable assignment or declaration (declaration) |
Missing:
documentation comment
information about the current line and file
tokens (case-sensitivity (keywords, variable identifiers...))
tokens (if case sensitive, what is the standard way for scrunching together multiple words)
breaking lines (useful when end-of-line and/or indentation has a special meaning)
grouping expressions
block (grouping statements, especially when statements are not expressions)
equality / inequality
comparison (min / max (binary or more))
f(a) | partial application (in the examples below, a normal call is "f(a,b)") (give the first argument) |
(func(A, B) = C :- ...) | anonymous function |
f(a,b,...) | function call |
f | function call (with no parameter) |
:- func f(typ1, typ2, ...) = typ0. f(Para1, Para2, ...) = ... | function definition |
Missing:
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 return value
function composition
identity function
(if c then b1 else b2) | if_then_else |
(c -> b1 ; c2 -> b2 ; b3) | if_then_else |
X = val, (X = v1, expr1 ; X = v2, expr2 ; expr_else) | multiple selection (switch) |
Missing:
sequence
if_then
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 (throwing)
exception (catching)
:: | annotation (or variable declaration) |
Missing:
declaration
cast
mutability, constness (type of a mutable value)
mutability, constness (type of a constant value)
method object para | method invocation |
method object | method invocation (with no parameter) |
__ | package scope |
Missing:
declare
import
Missing:
type name
character type name
character "z"
strings (verbatim)
strings (with interpolation)
strings (end-of-line (without writing the real CR or LF character))
multi-line
convert something to a string (see also string interpolation)
serialize (marshaling)
unserialize (un-marshaling)
sprintf-like
simple print
string equality & inequality
string size
string concatenation
duplicate n times
upper / lower case character
uppercase / lowercase / capitalized string
ascii to character
character to ascii
accessing n-th character
extract a substring
locate a substring
locate a substring (starting at the end)
Missing:
type name
false value
true value
logical not
logical or / and
foldl | f(... f(f(init, e1), e2) ..., en) |
foldr | f(e1, f(e2, ... f(en, init) ...)) |
elem | is an element in the list |
any | is the predicate true for an element |
all | is the predicate true for every element |
filter | keep elements matching |
concat | list flattening (one level depth) |
length | list size |
a !! i | list/array indexing |
reverse | reverse |
minimum / maximum | smallest / biggest element |
map | transform a list (or bag) in another one |
Missing:
type name
list concatenation
list constructor
adding an element at the beginning (list cons)
adding an element at index
adding an element at the end
first element
all but the first element
last element
get the first element and remove it
get the last element and remove it
for each element do something
transform two lists in parallel
find an element
split a list in 2 based on a predicate
join a list of strings in a string using a glue string
iterate with index
remove duplicates
sort
list of couples from 2 lists
2 lists from a list of couples
lookup an element in a association list
^ | record selector |
Missing:
tuple type
tuple constructor
reference (pointer) (creation)
reference (pointer) (dereference)
optional value (null value)
optional value (value)
optional value (type name)
dictionary (type name)
dictionary (constructor)
dictionary (access)
dictionary (has the key ?)
dictionary (remove by key)
dictionary (list of keys)
dictionary (list of values)
range
Missing:
type name
numbers syntax (integers)
numbers syntax (integers in base 2, octal and hexadecimal)
numbers syntax (integer thousand-seperator)
numbers syntax (decimals)
addition / subtraction / multiplication / division
exponentiation (power)
negation
random (random number)
random (seed the pseudo random generator)
operator priorities and associativities
square root / e-exponential / absolute value
trigonometry (basic)
trigonometry (inverse)
logarithm
modulo
truncate / round / floor / ceil
bitwise operators