<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<TITLE> S-Lang Library C Programmer's Guide, V1.4.0: Introduction</TITLE>
<LINK HREF="cslang-3.html" REL=next>
<LINK HREF="cslang-1.html" REL=previous>
<LINK HREF="cslang.html#toc2" REL=contents>
</HEAD>
<BODY>
<A HREF="cslang-3.html">Next</A>
<A HREF="cslang-1.html">Previous</A>
<A HREF="cslang.html#toc2">Contents</A>
<HR>
<H2><A NAME="s2">2. Introduction</A></H2>

<P> 
<P><B>S-Lang</B> is a C programmer's library that includes routines for the rapid
development of sophisticated, user friendly, multi-platform applications.
The <B>S-Lang</B> library includes the following:
<P>
<UL>
<LI>  Low level tty input routines for reading single characters at a time.</LI>
<LI>  Keymap routines for defining keys and manipulating multiple keymaps.</LI>
<LI>  A high-level keyprocessing interface (<CODE>SLkp</CODE>) for
handling function and arrow keys.</LI>
<LI>  High level screen management routines for manipulating both
monochrome and color terminals.  These routines are <EM>very</EM>
efficient. (<CODE>SLsmg</CODE>)</LI>
<LI>  Low level terminal-independent routines for manipulating the display
of a terminal. (<CODE>SLtt</CODE>)</LI>
<LI>  Routines for reading single line input with line editing and recall
capabilities. (<CODE>SLrline</CODE>)</LI>
<LI>  Searching functions: both ordinary searches and regular expression
searches. (<CODE>SLsearch</CODE>)</LI>
<LI>  An embedded stack-based language interpreter with a C-like syntax.</LI>
</UL>
 
<P>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
<B>S-Lang</B>'s keyboard input routines--- one can use a different keyboard
<CODE>getkey</CODE> routine if one desires.  This also means that linking
to only part of the <B>S-Lang</B> library does not pull the whole library
into the application.  Thus, <B>S-Lang</B> applications tend to be
relatively small in comparison to programs that use libraries with
similar capabilities.
<P>
<P>
<HR>
<A HREF="cslang-3.html">Next</A>
<A HREF="cslang-1.html">Previous</A>
<A HREF="cslang.html#toc2">Contents</A>
</BODY>
</HTML>
