Version 2.3.3  

S-Lang Programmer's Library


S-Lang is a multi-platform programmer's library designed to allow a developer to create robust multi-platform software. It provides facilities required by interactive applications such as display/screen management, keyboard input, keymaps, and so on. The most exciting feature of the library is the slang interpreter that may be easily embedded into a program to make it extensible. While the emphasis has always been on the embedded nature of the interpreter, it may also be used in a stand-alone fashion through the use of slsh, which is part of the S-Lang distribution.

Unlike many interpreters, the S-Lang interpreter supports all of the native C integer types (signed and unsigned versions of char, short, int, long, and long long), and both single and double precision types, as well as a double precision complex type. Other data types supported by the interpreter include strings, lists, associative arrays (hashes), user-defined structures, and multi-dimensional arrays of any data-type.

The S-Lang interpreter has very strong support for array-based operations making it ideal for numerical applications. For example,

    i = where (hypot(X,Y) <= 1);
    X = X[i];
    Y = Y[i];
is a filtering operation that removes all points from a pair of (X,Y) arrays that fall outside the unit circle. Moreover, the native support for array-based operations mean that such code will execute at the speed of compiled code even though the code is executed by the interpreter.

For more information about the library, read the online documentation.

This page was last updated Aug 5, 2022 by John E. Davis.
To comment on it or the material presented here, send email to jed at jedsoft org.
Valid HTML 4.01! Made with JED Viewable With Any Browser