An Ugly Page about Daniel Brockman's SNUSP Language

SNUSP stands for SNUSP's Not Unix but a Structured Path. Pretty silly, huh?

It is based on the PATH language, which has the two-dimensional code space of the Befunge language combined with the data model and minimal set of operators of the Brainf**k language. SNUSP clears up some of the irregularities in PATH, getting a closer feel to Brainf**k without losing any of its power. Here are the sum total of the supported operators in Modular SNUSP. (The first six are from Brainf**k.)

Opcode Operation
>
Increment the data pointer.
<
Decrement the data pointer.
+
Increment the current cell.
-
Decrement the current cell.
,
Read an ASCII character into the current cell (getchar).
.
Write the current cell as an ASCII character (putchar).
/
Reflect the instruction pointer along the line x = y.
\
Reflect the instruction pointer along the line x = -y.
!
Skip over one character in the current direction.
?
Skip over one character if the current cell is zero.
@
Nest, save the next position and direction on the stack.
#
Unnest, execution continues at nested direction and one past the saved position.
$
Start execution here, if present (otherwise at top left). Always start going right.

Local resources

SNUSP Language Definition (PDF)
JavaScript SNUSP debugger
JavaScript source code
More of my esoteric language debuggers
Perl SNUSP interpreter
Perl SNUSP debugger (requires the Curses module)

External links

SNUSP Language page on Ward's Wiki which contains many sample programs, snippets, and techniques.
SNUSP on the esoteric languages wiki
PATH language
Befunge language
Brainf**k language

Last Modified: 2015.07.02