Punctuation

# 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`