The "Missing:"s below indicate that an entry is incomplete.
| { ... } (9) | block (grouping statements, especially when statements are not expressions) |
| indentation (9) | block (grouping statements, especially when statements are not expressions) |
| {- ... -} | commenting (nestable) |
| -- | commenting (until end of line) |
| < > <= >= | comparison |
| min / max | comparison (min / max (binary or more)) |
| compare | comparison (returns 3 values (i.e. inferior, equal or superior)) |
| {-| ... -} | documentation comment |
| -- | | documentation comment (until end of line) |
| -- ^ | documentation comment (until end of line) |
| == /= | equality / inequality (deep) |
| ( ... ) | grouping expressions |
| $ ... | grouping expressions |
| case-sensitive | tokens (case-sensitivity (keywords, variable identifiers...)) |
| [_A-Z][_a-zA-Z0-9']* | tokens (constant regexp (if different from variable identifier regexp)) |
| CamelCase | tokens (if case sensitive, what is the standard way for scrunching together multiple words) |
| [_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) |
| <- | variable assignment or declaration (declaration) |
Missing:
information about the current line and file
breaking lines (useful when end-of-line and/or indentation has a special meaning)
force garbage collection
| (a >) | partial application (in the examples below, a normal call is "f(a,b)") (give the first argument to operator ">") |
| f a | partial application (in the examples below, a normal call is "f(a,b)") (give the first argument) |
| (> a) | partial application (in the examples below, a normal call is "f(a,b)") (give the second argument to operator ">") |
| \a b -> ... | anonymous function |
| f a b ... | function call |
| f | function call (with no parameter) |
| . | function composition |
| f para1 para2 = ... | function definition |
| no syntax needed | function return value (function body is the result) |
| id | identity function |
| catch a (\exn -> b) | exception (catching) |
| throw | exception (throwing) |
| if c then b1 else b2 | if_then_else |
| e | c = b1 | c2 = b2 | otherwise = b3 (32) | if_then_else |
case val of v1 -> expr1 v2 -> expr2 _ -> expr_else | multiple selection (switch) |
| ; | sequence |
| end-of-line | sequence |
| >> | sequence |
| :: | annotation (or variable declaration) |
| type n = t | declaration |
| data n = t | declaration |
| newtype n = t | declaration |
| it is the default | mutability, constness (type of a constant value) |
| STRef a T | mutability, constness (type of a mutable value) |
Missing:
cast
| class | class declaration |
| method object para | method invocation |
| method object | method invocation (with no parameter) |
| module p where ... | declare |
| module p (name1, name2, ...) where ... | declare (selective export) |
| import p | import (everything into current namespace) |
| import p (name1, name2, ...) | import (selectively) |
| . | package scope |
| s !! n | accessing n-th character |
| chr | ascii to character |
| 'z' | character "z" |
| ord | character to ascii |
| Char | character type name |
| show | convert something to a string (see also string interpolation) |
... "...\n\
\...\n" | multi-line |
| print (57) | simple print (on any objects) |
| putStr | simple print (on strings) |
| putStrLn | simple print (on strings) |
| ++ | string concatenation |
| == /= | string equality & inequality |
| length | string size |
| "..." | strings (verbatim) |
| String | type name |
| toUpper / toLower | upper / lower case character |
Missing:
strings (end-of-line (without writing the real CR or LF character))
serialize (marshaling)
unserialize (un-marshaling)
locate a substring
locate a substring (starting at the end)
| False | false value |
| not | logical not |
| || / && | logical or / and (short circuit) |
| True | true value |
| Bool | type name |
| unzip | 2 lists from a list of couples |
| : | adding an element at the beginning (list cons) (return the new list (no side-effect)) |
| tail | all but the first element |
| foldl | f(... f(f(init, e1), e2) ..., en) |
| foldr | f(e1, f(e2, ... f(en, init) ...)) |
| find | find an element |
| head | first element |
| mapM_ | for each element do something |
| 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 |
| [ x | x <- l, p x ] (72) | keep elements matching |
| last | last element |
| ++ | list concatenation |
| [ a, b, c ] | list constructor |
| concat | list flattening (one level depth) |
| zip | list of couples from 2 lists |
| length | list size |
| a !! i | list/array indexing |
| lookup | lookup an element in a association list |
| nub | remove duplicates |
| reverse | reverse |
| minimum / maximum | smallest / biggest element |
| sort | sort |
| sortBy | sort |
| partition | split a list in 2 based on a predicate |
| map | transform a list (or bag) in another one |
| [ f x | x <- l ] (72) | transform a list (or bag) in another one |
| zipWith | transform two lists in parallel |
| [a] | type name |
Missing:
adding an element at index
join a list of strings in a string using a glue string
| Nothing | optional value (null value) |
| Maybe | optional value (type name) |
| Just v | optional value (value) |
| [ a .. b ] | range (inclusive .. inclusive) |
| field r | record selector |
| normal function call | record selector |
| writeSTRef | reference (pointer) (assigning (when dereferencing doesn't give a lvalue)) |
| newSTRef | reference (pointer) (creation) |
| readSTRef | reference (pointer) (dereference) |
| ( a, b, c ) | tuple constructor |
| (t1, ..., tn) | tuple type |
| + / - / * / / | addition / subtraction / multiplication / division |
| divMod | euclidian division (both quotient and modulo) |
| **, ^ and ^^ (87) | exponentiation (power) |
| log / logBase 10 | logarithm |
| mod | modulo (modulo of -3 / 2 is 1) |
| - | negation |
| 1000.0, 1.0E3 | numbers syntax (decimals) |
| 0o7, 0xf | numbers syntax (integers in base 2, octal and hexadecimal) |
| 1000 | numbers syntax (integers) |
| mathematical | operator priorities and associativities (addition vs multiplication) |
| mathematical | operator priorities and associativities (exponentiation vs negation (is -3^2 equal to 9 or -9)) |
| sqrt / exp / abs | square root / e-exponential / absolute value |
| sin / cos / tan | trigonometry (basic) |
| / round / floor / ceiling | truncate / round / floor / ceil |
Missing:
type name
random (random number)
random (seed the pseudo random generator)
trigonometry (inverse)
bitwise operators