Try CAL SNOBOL

Explore SNOBOL’s strings, patterns and recursion using the preserved Berkeley compilers and runtimes. Choose an example, change it, and run it here. Programs and data stay in your browser.

Program

Choose an example or enter your program.

Source columns 1–72 are interpreted; 73–80 are retained on cards but ignored as source. The faint rule marks 72/73. Preserve label/statement spacing. Text is uppercased; tabs use eight-column stops. END is optional in the revised version.

Recover an earlier draft

Input

Submitted input history

Output

Choose an example and press Run SNOBOL.
Save output and session

The session includes source, version, input, settings and original output streams; it is not a resumable CPU snapshot.

Monitor and browser-engine logs

Monitor dayfile (may repeat the runtime diagnostic)

Browser engine

Named files — local text or new output files

Names: 1–7 uppercase letters/digits. INPUT, OUTPUT, DAYFILE and SNOJOB are reserved. Up to 13 additional files. Save generated files before leaving.

Execution settings and runtime images

No instruction-word cutoff by default; Stop remains available. Initial field: 160000 octal (57,344 words). Both versions use local date/time. Revised: TIME() is CPU milliseconds, CLOCK() is time of day. Earlier: CLOCK() is CPU milliseconds, TIME() is time of day.

Supply preserved runtime exports

Normally loaded from runtime/. The earlier version needs only its executable; the revised version also needs SNOJOB. Historical images retain separate copyright/provenance.

Language documentation

CAL SNOBOL differs from standard SNOBOL4, and the two preserved versions differ from each other. Use the early notes for the earlier implementation and the changes below for the revised version.

The SNOBOL4 Programming Language — the green-cover manual
The general language reference by Griswold, Poage and Polonsky, second edition (1971).
Early CAL SNOBOL notes and reference manual
The original-implementation section collects the CAL-specific memos and April 1969 manual.
Recent Changes to CAL SNOBOL
The revised implementation’s language/compiler changes, including later facilities such as PROTOTYPE.
SNOBOL4: A Computer Programming Language for the Humanities
Gaskins and Gould’s 1972 introduction based on CAL SNOBOL.

To add examples, place .sno files in examples/, run python3 update_examples.py, then upload that directory. See example maintenance notes.