XTW
Jump to navigation
Jump to search
Paradigm(s) | procedural, imperative |
---|---|
Designed by | User:zseri |
Appeared in | 2017 |
Type system | dynamic |
Memory system | variable-based |
Dimensions | one-dimensional |
Computational class | Turing complete |
Reference implementation | |
Influenced by | TEWNLSWAC, Terse |
File extension(s) | .xtw |
- This article is not detailed enough and needs to be expanded. Please help us by adding some more information.
Pronounced eks-too-whack, XTW is the successor of TEWNLSWAC.
There is a brainfuck implementation in XTW to proof turing-completeness: https://github.com/zserik/zxtw/blob/master/examples/bf.xtw
Syntax Differences
From | To | Description |
---|---|---|
c <label> <optional: arguments in parentheses> |
<label> ( <optional: arguments> ) | call function beginning at label,
the different handling of syntax for "no arguments" is needed to distinguish between call (<label>) and expand (<variable>). |
c: <type> <expression> |
c <type> <expression> |
casting operator |
<label> : <optional: a <arguments> ; /optional> <body> r; |
f <label> <optional: arguments> { <body> } |
function definition |
new Syntax elements
Operator | Compat Levels | Description |
---|---|---|
Unary operators | ||
i |
3 (string) → 5 | load a plugin |
Binary operators | ||
~ |
3 → 0 | check for type equality |
Variables within the namespace ::l::
(or l::
, if you are still in global namespace) are local to the current function invocation and will be reset to the values they hold before the function call, when the function returns.
new Variable Assign Commands
Unary
Command | Description |
---|---|
= a |
assign the next command line argument to a variable and shift it |