summaryrefslogtreecommitdiff
path: root/lang/snobol4/pkg-descr
blob: 47214290c2d336f1b6eb29caea2ef8e81eb0c2a0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
CSNOBOL4 is a free port of the original SIL (SNOBOL4 Implementation
Language) macro version of SNOBOL4 (developed at Bell Labs) with the C
language as its target.  Includes SPITBOL and BLOCKS extensions.

SNOBOL4 is a living fossil; a dynamically typed, garbage collected
interpreter with a first-class pattern type (patterns can be composed
from other patterns), and user defined data types (structs) from the
1960's.

The language syntax is exceedingly simple, and statements consist of
three optional parts: a label, an expression, and an unconditional or
conditional branch labels.

Pattern match (and replace) is a built in operator.  Built-in
functions include predicates for comparison, pattern creation and
string modification.  allow the compilation of code at run time, and
the creation of new "user data types" (structures). Built-in types
include string, integer, float, multi-dimension arrays, (hash) tables,
pattern, and code.  Loadable modules can create new opaque types.

CSNOBOL4 includes extensions to access base64, bit operations,
cryptographic hashes, dbm, directories, ffi, fork, pipes,
pseudo-terminals, random, readline, sprintf, sqlite3, stat, tcl, and
TLS, documented in manual pages created using embedded POD-like
"snopea" markup.

WWW: http://www.regressive.org/snobol4/