Next Previous Contents

## 2. Introduction

S-Lang is a C programmer's library that includes routines for the rapid development of sophisticated, user friendly, multi-platform applications. The S-Lang library includes the following:

- Low level tty input routines for reading single characters at a time.
- Keymap routines for defining keys and manipulating multiple keymaps.
- A high-level keyprocessing interface (`SLkp`) for handling function and arrow keys.
- High level screen management routines for manipulating both monochrome and color terminals. These routines are very efficient. (`SLsmg`)
- Low level terminal-independent routines for manipulating the display of a terminal. (`SLtt`)
- Routines for reading single line input with line editing and recall capabilities. (`SLrline`)
- Searching functions: both ordinary searches and regular expression searches. (`SLsearch`)
- An embedded stack-based language interpreter with a C-like syntax.

The library is currently available for OS/2, MSDOS, Unix, and VMS systems. For the most part, the interface to library routines has been implemented in such a way that it appears to be platform independent from the point of view of the application. In addition, care has been taken to ensure that the routines are ``independent'' of one another as much as possible. For example, although the keymap routines require keyboard input, they are not tied to S-Lang's keyboard input routines--- one can use a different keyboard `getkey` routine if one desires. This also means that linking to only part of the S-Lang library does not pull the whole library into the application. Thus, S-Lang applications tend to be relatively small in comparison to programs that use libraries with similar capabilities.

Next Previous Contents