XTW

From Esolang
Jump to navigation Jump to search
XTW
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 ZXTW2
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