very shitty esolang where self-modifying code is mandatory
Find a file
2023-12-16 14:02:23 +01:00
programs add hello world example program 2023-12-16 14:02:23 +01:00
src define non-instruction bytes to just get eaten (for easier text printing), and add a special case for _ -> space 2023-12-16 14:02:11 +01:00
.gitignore this is literal garbage 2023-12-12 22:39:33 +01:00
Cargo.lock this is literal garbage 2023-12-12 22:39:33 +01:00
Cargo.toml this is literal garbage 2023-12-12 22:39:33 +01:00
README.md define non-instruction bytes to just get eaten (for easier text printing), and add a special case for _ -> space 2023-12-16 14:02:11 +01:00
rustfmt.toml this is literal garbage 2023-12-12 22:39:33 +01:00

Stupid Worm Languag

  • program space is an arbitrary sized grid of bytes
  • the worm starts as just a head @
  • as it passes over commands, they get moved to the back of the worm
  • values get pushed to stack (eaten) when passed over, worm body length increases
  • the program gets rearranged every time the worm executes it

commands

+- pop 2 values, push sum/difference (uses the order they are popped, so `0-` negates the top of the stack)
><^v change direction
0..9 push number to stack
/\ pop stack, reflect to the side if not zero
? reads one byte of input
= duplicate top of stack
! pop and write output as ascii char
" pop and write output as number
_ push a space character
all other characters are pushed as-is