Aviva Directory » Computers & Internet » Programming » S-Lang

Distributed under the GNU General Public License, S-Lang refers to a scripting language, as well as a programming library for Unix, Windows, VMS, OS/2, and macOS platforms.

Sometimes referred to, without the hyphen, as Slang, development on S-Lang was begun in 1992 by John E. Davis, who wanted to see how the functions he had written for a text editor might be useful in other programs. The first version of the S-Lang library featured input/output routines for interacting with computer terminals, and an implementation of a stack-based interpreter that had been developed for use in a scientific plotting program.

The JED text editor was the first program to both embed the interpreter and use the terminal I/O components of the library. JED makes extensive use of the S-Lang library and runs on Windows and all of the Unix and Linux-type platforms. Older versions are available for DOS.

Most of the S-Lang library is made up of the interpreter, which is where most of the development takes place. While the original syntax resembled PostScript, more recent versions have evolved into a procedural language with a syntax similar to C, but with support for object-oriented style constructs. The language natively supports array-based operations similar to MATLAB and IDL.

S-Lang was not a standalone program until version 2.0. Rather, it was embedded into applications, such as a C program or other programs, like the JED editor. Version 2.0 made S-Lang an application in its own right, including external modules, becoming the S-Lang interpreter. The S-Lang interpreter supports all of the native C integer types, and both single and double precision types, as well as double-precision complex types, strings, lists, associative arrays, user-defined structures, and multi-dimensional arrays of any datatype.

Topics related to the S-Lang scripting language and programming library, are the focus of resources found in this guide. Any editors, IDEs, or tools created to facilitate programming in S-Lang are appropriate for this category, as are S-Lang user groups, forums, tutorials, and guides.



Recommended Resources

Search for S-Lang on Google or Bing