Overview · Source · Documentation · News! · Features · Why Scheme? · Projects



All the documents shown here have been produced directly from the troff source using unroff. The Elk distribution includes preformatted PostScript versions for all manuals besides the troff files (generated by GNU groff).

For viewing the online documentation, you can choose between three formats:

A document split into separate files at major sections, with an automatically generated table of contents on the initial page holding links to the remaining sections. Only offered for larger documents.
An entire document as a single HTML file, with a (not-so-nifty) table of contents at the end (created by troff using the ordinary -ms index macros).
An entire document as a preformatted PostScript file, usually with a keyword index at the end. As a courtesy to the US audience, the PostScript files are in US letter format.
Recommendation for printing:  If you need a hardcopy of one of the documents, for best results please print the preformatted PostScript version rather than using your Web browser to convert the HTML version to (usually inferior) PostScript.

C/C++ Programmer's Manual

In this manual you find the specification of the C/C++ interface of Elk. The first few chapters discuss the architecture of Elk-based applications and introduce the facilities for building extensible applications and extensions (such as dynamic loading). The remaining chapters describe the C functions and types available to the application programmer; the manual concludes with more advanced topics such as the use of weak data structures. Many examples throughout the text illustrate the facilities and techniques discussed in this manual.
split · single (180 kbytes) · hardcopy (65 pages)

The Extension Language Kit, Scheme Reference

This reference manual describes the Scheme language dialect implemented by the Scheme interpreter that is part of Elk (a superset of the official language). To avoid duplication of information, the manual refers to the Revised^4 Report on the Algorithmic Language Scheme for the standard Scheme facilities and concentrates on the Elk-specific features.
split · single (59 kbytes) · hardcopy (37 pages)

Reference Manual for the Elk UNIX Extension

This document describes the procedures and record types defined by the UNIX extension to Elk. It assumes you are familiar with the most common UNIX system calls and C library functions.
split · single (61 kbytes) · hardcopy (27 pages)

Manual page for Elk

A brief online manual page for the stand-alone version of the Scheme interpreter. It essentially describes the command line options. You may want to install this manual in /usr/man or /usr/local/man on your system.
single (4 kbytes) · hardcopy (1 page)

Elk: The Extension Language Kit (article)

A (slightly outdated) paper co-authored by Carsten Bormann which appeared in USENIX Computing Systems, vol. 7, no. 4, 1994. It provides a good overview of Elk and its design decisions.
split · single (151 kbytes) · hardcopy (31 pages)

Elk/Xlib Reference Manual

The documentation for the X11 Xlib extension to Elk. It contains many pointers to the Xlib - C Language X Interface specification that is part of the X11 distribution, so you may want to get a copy of this.
split · single (75 kbytes) · hardcopy (37 pages)

Elk/Xt Reference Manual

This manual describes the Scheme bindings for the X11 Toolkit Intrinsics and the facilities for loading the extensions for X widgets into Scheme. There are many references to the official X Toolkit Intrinsics - C Language Interface specification.
split · single (23 kbytes) · hardcopy (13 pages)

Reference Manual for the Elk Bitstring Extension

single (10 kbytes) · hardcopy (6 pages)

Reference Manual for the Elk Record Extension

single (13 kbytes) · hardcopy (7 pages)

Reference Manual for the Elk Regular Expression Extension

single (8 kbytes) · hardcopy (5 pages)

The OOPS Package for Elk Scheme

This is a reference manual for the simple Scheme-based object oriented programming facility (single inheritance) included in Elk.
single (15 kbytes) · hardcopy (7 pages)

Oliver Laumann       net@informatik.uni-bremen.de