Snoflake Demo

Snoflake is a browser-hosted SNOBOL4 macro implementation. Try it out, or open the editor.

Interactive I/O

Ready
Source
Interactive I/O

L-systems on a canvas

L-systems are string-rewriting grammars whose generated strings are read as turtle-graphics commands. Rewriting is SNOBOL's native superpower, so the language does it all. For the drawing, the program calls a handful of JS functions the host registered as ordinary SNOBOL built-ins.

Ready
Source
Generations
Canvas

Elementary cellular automata

Wolfram's 1D cellular automata are nothing but a sliding-window string rewrite. SNOBOL computes each row from the previous one as pure string manipulation; the host renders the accumulated rows as a pixel grid.

Ready
Source
Canvas

Shape Grammar

SNOBOL rewrites a worklist of NAME(args) symbols into a 3-D scene; each terminal box is handed to the renderer through an EMIT JavaScript extension.

Ready
Source
Scene drag to rotate · wheel to zoom

Batch I/O

The batch counterpart to interactive I/O: consume a block of input, produce a block of output. Each line here is split into words by Intl.Segmenter, reached through a LOAD-ed JavaScript helper, so one loop segments scripts with and without spaces.

Ready
Source
Input
Output