Seed7 - The extensible programming language
Seed7 FAQ Manual Screenshots Examples Libraries Algorithms Download Links
Libraries AES ARC4 Array ASN.1 Bigfile Bigint Bigrat Bin32 Bin64 Bitdata Bitmapfont Bitset Bitsetof Boolean Browser Bstring Bytedata Cards Category CC config Cgi Cgi dialog Char Charsets Cipher Clib_file Color CLI Commands Complex Console Crc32 Deflate DES Dialog Dir Draw Duration Echo Editline Enable_input Enable_io Enable_output Encoding Environment External_file File File system Float Font Forloop Ftp Getf Gethttp Gethttps Graph Graph_file Gzip Hash Hashsetof Hmac Html_ent Httpserv Idxarray Image Inflate Inflate file Inifile Integer Keybd Line Listener LZW Make Math Msgdigest Null_file Osfiles Picture utility Pixmap_file Pixmapfont PKCS #1 Poll Process Progs Propertyfile Rational Reference Ref_list Scanfile Scanstri Set Shell Smtp Sockbase Socket SQL base Stdio Strifile String Stritext Subrange Tar Text Time TLS/SSL Triple DES Unicode Utf16 Utf8 Vectorfont 3D Vector Window Wrinum X.509 Xmldom Xml_ent Zip
 previous   up   next 

Seed7 has libraries for many application areas. On this overview page the libraries are classified into several categories.


Numeric types are supported with the following libraries:

integer.s7i Integer support library.
bigint.s7i Unlimited precision integer support library.
rational.s7i Rational number support library.
bigrat.s7i Big rational number support library.
float.s7i Floating point support library.
complex.s7i Complex support library.
math.s7i Mathematical functions and constants.


The characters in a string use the UTF-32 encoding. Strings are not '\0;' terminated. Therefore they can also contain binary data. Strings are supported with the following libraries:

string.s7i String library with support for concatenation, indexing, slicing, comparison, changing the case, searching and replacing.
scanstri.s7i String scanner functions to scan integer, character and string literals as well as names, and comments.
charsets.s7i Code pages for various character sets.
unicode.s7i Functions to convert to and from UTF-16BE, UTF-16LE, UTF-8 and UTF-7.
encoding.s7i Encoding and decoding functions for Base64 encoding, Quoted-printable encoding, uuencoding, percent-encoding and URL encoding.


File support uses the interface types file and text together with various types to implement them. Libraries, which support standard I/O and enable I/O for various types, are also present. Files are supported with the following libraries:

file.s7i Interface type describing sequential files.
null_file.s7i Base implementation type for all files.
external_file.s7i File implementation type describing OS files.
stdio.s7i Standard input and output via files.
enable_io.s7i Templates to enable file I/O for a given type.
keybd.s7i Read from keyboard without buffering and echo.
editline.s7i Filter file for linewise editing with history.
line.s7i Filter file which reads the input linewise. Writing to a line file buffers lines and writes them to the base file with the next writeln or flush.
echo.s7i Filter file which generates an echo of the input.
utf8.s7i File implementation type for UTF-8 files.
utf16.s7i File implementation type for UTF-16 files.
strifile.s7i Implementation type for files stored in a string.
socket.s7i File implementation type for OS sockets.
dir.s7i Implementation type to read directorys as files.
text.s7i Interface type for line/column oriented files.
console.s7i Text implementation type for text console/window.
graph_file.s7i Implementation type to display graphic text.
window.s7i Filter file for text windows with random access.
pixmap_file.s7i Text implementation type to use a pixmap font.
bigfile.s7i bigInteger versions of seek, tell and length.

Operating system

Access to the operating system is supported with the following libraries:

environment.s7i Support for program arguments, name and path of the program and environment variables.
osfiles.s7i Functions to copy, move and remove files and functions to obtain and change file properties such as size, type, time and mode.
dir.s7i Implementation type to read directorys as files.
getf.s7i Read and write whole files into and from strings.
shell.s7i Support for shell commands


There is support for sockets and TLS/SSL. Higher level protocols, such as HTTP, HTTPS, FTP and SMTP are also supported. Example programs using this features are the comanche webserver and the programs ftp7, ftpserv, tst_cli.sd7 and tst_srv.sd7. Network connections are supported with the following libraries:

sockbase.s7i Support for socket address and primitive socket.
socket.s7i File implementation type for sockets.
poll.s7i Support for pollData and the poll function.
listener.s7i Support for inet listener.
tls.s7i Support for Transport Layer Security (TLS) and Secure Sockets Layer (SSL).
gethttp.s7i Support to get data with the HTTP protocol.
gethttps.s7i Support to get data with the HTTPS protocol.
ftp.s7i Support for the FTP protocol.
smtp.s7i Support for the SMTP protocol.
cgi.s7i Support for the Common Gateway Interface.
html_ent.s7i HTML entity handling library


The graphic libraries allow drawing, image operations, windows manipulation as well as bitmap and vector fonts. Events to redraw a window and other annoyances are managed in the graphics libraries. Graphics is used by many example programs. The mandelbr fractal viewer, the wator predator-prey simulation and the testfont bitmap and vector font demo are some of them. Graphics is supported with the following libraries:

draw.s7i Portable graphic library.
color.s7i Functions for color processing.
graph_file.s7i Implementation type to display graphic text.
dialog.s7i Dialog support library.
graph.s7i Basic graphic library.
font.s7i Defines the font interface.
bitmapfont.s7i Font implementation type for bitmap fonts.
vectorfont.s7i Font implementation type for vector fonts.
pixmapfont.s7i Defines pixmapFontType and the font cache.
pixmap_file.s7i Text implementation type to use a pixmap font.


The following libraries do not fall in a category:

time.s7i Time and date library.
duration.s7i Time and date duration support library.
char.s7i Character library.
gzip.s7i Gzip uncompression function.
deflate.s7i Deflate compression algorithm.
inflate.s7i Inflate uncompression algorithm.
inifile.s7i Read key value pairs from an INI file.
propertyfile.s7i Read key value pairs from a property-file.
xmldom.s7i Simple XML dom parser.
xml_ent.s7i XML entity handling library.
bytedata.s7i Functions to convert byte data to and from strings.
msgdigest.s7i Message digest and secure hash algorithms like MD4, MD5, SHA-1, SHA-224 and SHA-256.

 previous   up   next