A fool-proof method for sculpting an elephant: first, get a huge block of marble; then you chip away everything that doesn't look like an elephant.

Searching for solution with Perl or AWK like languages is from time to time like chipping away everything that doesn't look like solution...
If you know what you want Snobol4 gives you a chance to actually create an elephant's sculpture (and long before a deadline...)


Small, TCL/Tk based IDE for Snobol4.



No local TCL or CSnobol4 installation required (batteries included)
Download ZIP


Linux TCL runtime included.
Download gzipped tarball


My current employer's courtesy: Open Source Software at itBank.
If you happen to live in Germany or Switzerland: consider booking an Exchange account at our company. This way I can keep my day job and write more open-source stuff ;-)

Current version

* re-highlighting after "Open" fixed
* focus handling in Preferences window corrected
* window title setting after "Open"/"Open input" corrected
Windows version was tested on XP and Vista Home only.
If you intend to use the TkS*LIDE on Unix download the Linux version.
All you have to do to obtain a self-contained executable version is to download a TclKit for your OS (and replace the Linux-specific one).


See TkSlide in action

Version 0.22+ - Toolbar with icons (Linux)
Version 0.22+ - Toolbar icons + tooltip (Windows)
Version 0.21 - snapshot 1
Version 0.21 - snapshot 2
Version 0.21 - snapshot 3

Tips and tricks

Running interactive programs with TkS*LIDE

It's just a workaround, but it works. The program will use exclusively console input and output.


Type the following line into the snoTerm.bat file:

@start csnobol4 %1 %2 %3 %4 %5 %6 %7 %8 %9

Set the "Snobol4 path" variable in preferences (Edit/Preferences) to snoTerm.bat


Type the following line(s) into the snoTerm file:

#! /bin/sh
${XTERM:-xterm} -e snobol4 "$@"

Make the file executable and set the "Snobol4 path" variable in preferences (Edit/Preferences) to snoTerm.

Version history

Older versions


* Preferences: file browser uses native names (slash/backslash)
* New icons

* ctext updated to 3.2
* Preferences: editor/browser/interpreter selection via file browser

* filenames corrected (should work under WinXP now)
* name of the file set correctly after "New File"
* Snobol4 version in "About" window (hardcoded)

- slide.bat corrected
- path separators for in/out/err/temp files made OS dependent
- changelog moved to a separate file
- manual updated
- Snobol4 updated to 1.2
- Tclkit updated to 8.5.2
- fileutil library updated to 1.13.5

- Ctrl-v mapping only for Tk versions prior to 8.5
- further code cleanup
- "nag-screen" removed
- code organization changed
- switchable UTF hack
- UTF hack configurable in prefix.sno
- custom tabs added to preferences
- online help works on Windows

- cut/copy/paste buttons added
- find replaced with a more orthodox version by R. Suchenwirth
- utf.sno hack (requested by Guido Milanese)
- useUTFlibrary configuration parameter added (utf.sno hack)

- transcript function fixed

- typo in function template corrected
- preferences dialog improved
- context menu search added
- code cleanup

- tested with Cygwin TCL, TclKit and eTCL
- icons added
- tooltips added
- edit shortcuts fixed(?)

- libraries updated to tcllib-1.7 and tklib-1.8
- forced exit (Alt-F4, 'close' button) confirmation fixed
- filename in window title
0.21 - Preferences panel added.
- backward compatibility edition (not tested with pre-8.4 yet
- true replaced with 1 -- compatibility with Tcl version 8.3 (P. Thomas)
- -undo and -uniform parameters used with 8.4+ only (Tcl 8.3 compat. - P. Thomas)
- rudimentary search (F3) added (wraparound)
- highlighting color of brackets corrected
- Larry Gregg reported some problems with snobol4 full path name under Windows. This version should fix the problem. Use "normal" MS-DOS paths in {}, eg. {C:\some path\snobol4\snobol4.exe}. Thank you, Larry!
- 'encoding' variable added.[screenshot]
- Ctrl-S logic adjusted: use saveFileAs for unnamed files, saveFile for all the rest
- separate HOST(0) textfield added (variable 'snobol4param' renamed to 'snobol4option', new (empty) variable snobol4param added - update your config file!). Tested with CSnobol4 (requested by H.Bussey)
- cosmetic changes in transcript
- test version of the context help implemented
- transcript file selection dialog implemented
- undo/redo fixed
- main window border added
- 'save transcript' function implemented (File/Save transcript)
- program directory discovery done the right way (using 'file dirname').
- snobol4 parameters fixed (can be entered with spaces)
- 'Check updates' help menu item added
- program file name adjusted in error messages (the temporary file name was shown)
- system information added (in About window)
- configuration file documented.
- noIntro switch added (I'll be glad you *won't* use it, though)
- version number in the windows title added
- TkS*LIDE help in HTML format
- removed excessive code from runProgram
- changed help system (thanks to J. English) - adjust browser variable
- fixed font set in online help
- configuration entry for font adjusted
- added 'syntax' menu entry (function, code templates etc.) 0.12
- rudimentary Snobol4 online help (thanks to M. Emmer)
- config file name changed
- example config file added
0.10 (thank you, Howard!)
- fixed scrolling in in/out/err windows (bug reported by H.Bussey)
- improved runProgram (unconditional stderr display, update) (H.Bussey)
0.09 [Snapshots] - scrollbars added to in/out/err windows (requested by H.Bussey)
- snobol4 switches (requested by B.M.Axtens and H.Bussey)
- 'Run' button and Alt-R binding added
- toolbar added
- basic mouse-based editing context menu added (copy/paste operations and run) (requested by H.Bussey)
- custom tabs on/off switch added

0.08 - "File/New" menu item added
- "File/Open input" menu item added (so you can load your input data).
- "Errors" window renamed (it's for displaying messages, not only error messages)
- commandline parameters:
-f filename - load filename on startup
-r - activates Snobol4's "-r" switch (request: by B.M.Axtens)
-t - comfortable tabbing
- rudimentary config file added.

0.07 - external editor uses temporary file.
- input/output/program window focusing added.
- program window focus on startup corrected.
- small syntax hilighting regex change.
- graceful exit on Alt-F4
- welcome screen added
- program is now fully relocable (can be invoked from anywhere)
- few emacs-like bindings added

Version 0.06
This version uses temporary file for running. Original source file will not be overwritten.

Due to some standarization problems with tcllib I attached small part of tcllib in the Unix version.

Support files

Snobol4 Download:
Portable CSnobol4
16-bit Snobol4 for DOS/Windows

TCL Download:
ActiveState TCL
TCL on Sourceforge
Tclkit (think: Tcl/Tk without installation)

S*LIDE files

S*LIDE a.k.a. "S*bol IDE" is a small open source project based on popular Vim editor.

If you're UN*X purist go here

TGZ format
ZIP format

If you want the complete IDE - download winmanager script.
This script requires bufexplorer

Start Vim with gvim +WManager program.sno to see the S*LIDE in full glory...

Windows users:

Programs like:

next    output = input :s(next)
can "hang" S*LIDE. Support for stdin in Windows GUI is a bit broken -- there are few workarounds: