notes

Extension instructions

The instruction prefix tree is not full, so extended instructions may be defined that are prefixed with STT, TSTL, TSL, TTL, TLSL, TLTL, TLL, LLS, or LLT. As these are non-standard, few implementations support them and the syntax is conflicting.

Burghard

wsintercpp, wsinterws, and wsa by Oliver Burghard define the following instructions:

Mnemonic Syntax Arg Stack Description
debug_printstack LLSSS   Dump stack
debug_printheap LLSST   Dump heap

whitespace-nd

whitespace-nd by Harold Lee defines the following instruction:

Mnemonic Syntax Arg Stack Description
Shuffle STTS   a0 .. an – s0 .. sn Randomly permute the order of all values on the stack

JBanana

Whitespace by JBanana defines the following instructions:

Mnemonic Syntax Arg Stack Description
x-dump TTL   XDump
x-args TLSL   – arg Read from the program arguments
x-readfile TLTLS   file – ptr code Read from a file
x-writefile TLTLL   ch file – code Write to a file
x-closefile TLTLT   file – Close a file

Nospace (Leah Hirst)

Nospace by Leah Hirst defines the following instructions using the extension X token:

Mnemonic Syntax Arg Stack Description
Cast XS type Casts the top to a type
Assert XT type Asserts that the top is compatible with a type
Strict XXX   Unused

voliva

WSA by Victor Oliva defines the following instructions:

Mnemonic Syntax Arg Stack Description
or TSLS   x y – x|y Bitwise OR
not TSLT   x – ~x Bitwise complement
and TSLL   x y – x&y Bitwise AND
dbg LLS   Breakpoint

pywhitespace

pywhitespace by Phillip Bradbury defines the following instruction:

Mnemonic Syntax Arg Stack Description
Trace LLT   Dump program state

whitespacesdk

whitespacesdk by MArtin SHerratt defines the following instructions:

Mnemonic Syntax Arg Stack Description
Invert STT   a0 .. an – an .. a0 Invert the stack
OutputStack TLSSS (conflicts)   .. – Output the entire stack as characters

PYWS

PYWS by Eizo Assik defines the following instruction:

Mnemonic Syntax Arg Stack Description
PYFN LLS l a1 .. an – a1 .. an retval Call the Python function registered as l with n arguments

Spiceweight

Spiceweight by Collided Scope defines the following instructions:

Mnemonic Syntax Arg Stack Description
shell TLL   cmd – output Execute shell command cmd and push its output (stdout and stderr), where cmd and output are base-128 numbers representing ASCII strings

Spitewaste

Spitewaste by Collided Scope defines the following instructions:

Mnemonic Syntax Arg Stack Description
shell TLL s ? Execute shell command (unimplemented)
eval LLT s ? (unimplemented)