expressing something ive been thinking about
| Symbol | Type |
|---|---|
| :_ | none |
| :Q | some |
| :* | any |
| :L | list |
| :E | error |
| :S | string |
| :I | integer |
| :R | real |
| :X | identifier |
| :F | function |
Use .. as the parameter list to create variadic functions that accept any number of arguments. All arguments are evaluated and available as $args inside the function body.
(set sum (fn (..) (do-something-with $args)))
(sum 1 2 3 4 5)
Built-in variadic functions like putln, use, do, int/sum, and real/sum require at least one argument.
We use $error as an injected identifer inside the body of the handler for try statements. After this handling, $error is not available.
The user can not define $<IDENTIFIER> as the $ symbol