Punctuation
Extended documentation for mathematical symbols & functions is here.
| symbol | meaning | 
|---|---|
@m | invoke macro m; followed by space-separated expressions | 
! | prefix "not" (logical negation) operator | 
a!( ) | at the end of a function name, ! is used as a convention to indicate that a function modifies its argument(s) | 
# | begin single line comment | 
#= | begin multi-line comment (these are nestable) | 
=# | end multi-line comment | 
$ | string and expression interpolation | 
% | remainder operator | 
^ | exponent operator | 
& | bitwise and | 
&& | short-circuiting boolean and | 
| | bitwise or | 
|| | short-circuiting boolean or | 
⊻ | bitwise xor operator | 
* | multiply, or matrix multiply | 
() | the empty tuple | 
~ | bitwise not operator | 
\ | backslash operator | 
' | complex transpose operator Aᴴ | 
a[] | array indexing (calling getindex or setindex!) | 
[,] | vector literal constructor (calling vect) | 
[;] | vertical concatenation (calling vcat or hvcat) | 
[    ] | with space-separated expressions, horizontal concatenation (calling hcat or hvcat) | 
T{ } | parametric type instantiation | 
; | statement separator | 
, | separate function arguments or tuple components | 
? | 3-argument conditional operator (used like: conditional ? if_true : if_false) | 
"" | delimit string literals | 
'' | delimit character literals | 
` ` | delimit external process (command) specifications | 
... | splice arguments into a function call or declare a varargs function | 
. | access named fields in objects/modules (calling getproperty or setproperty!), also prefixes elementwise function calls (calling broadcast) | 
a:b | range a, a+1, a+2, ..., b | 
a:s:b | range a, a+s, a+2s, ..., b | 
: | index an entire dimension (firstindex:lastindex), see Colon) | 
:: | type annotation or typeassert, depending on context | 
:( ) | quoted expression | 
:a | symbol a | 
<: | subtype operator | 
>: | supertype operator (reverse of subtype operator) | 
=== | egal comparison operator |