This is version 3.0 of Siod, Scheme In One Defun.

It is a small implementation of the Scheme programming language.

George Carrette, Mar 12, 1994. gjc@mitech.com, gjc@paradigm.com.

See siod.doc and the source file slib.c for more information.

The files slib.c and sliba.c may serve as a subroutine library to add
scheme interpreter functionality to any existing program.

Even though this is small, the implementation supports some advanced
features such as arrays, hash tables, and fast/binary data saving and
restoring. Also included in this release are interfaces to the
commercial relational databases DIGITAL RDB and Oracle. (See the files
sql*.c for information on building in these extra features)

This version has been compiled and run in the following environments,
with the resulting executable sizes  (not stripped):

 - SPARC, SUNOS with GNU cc                      73 Kbytes
 - SPARC, SUNOS with GNU g++                     82 Kbytes
 - VAX/VMS, VAX C                                42 Kbytes
 - ALPHA/VMS, DEC C                             107 Kbytes
 - MAC-SE/30, THINK C 5.0                        55 Kbytes
 - DECpc AXP 150, WINDOWS NT, Microsoft C       157 Kbytes
 - 486 PC, WINDOWS NT, Microsoft C               79 Kbytes

Short description:

Siod is a small scheme interpreter with support for:

 - lists, numbers, symbols, strings, arrays.
 - string and numeric arrays compatible with C types long*,char*,double*.
 - user-defined datatypes, new types added on fly, with hooks to
   reading, evaluation, printing, equal, hashing,
 - c-style I/O including fopen, fclose, fseek, ftell, fread, fwrite.
 - fast/binary data-structure printing and reading.
 - hash tables.
 - natural C programming style for adding functionality.
   Lisp arguments are passed as C arguments. No funky stacks
   or stack pointers to keep track of. No storage management hassles.

Entry in the free database catalog from idiom.berkeley.ca.us

Please send additions, corrections, and donations to 
David Muir Sharnoff <free-databases@idiom.berkeley.ca.us>

name:		SIOD (Scheme In One Defun/Day)
version:	3.0 beta
interface from: C, C++, Scheme
interface to:	Oracle, Digital RDB, flat ascii, flat binary.
access methods: flat files contain symbolic expression such as hash tables.
multiuser:	yes with commercial DB, no with flat files.
transactions:	yes with commercial DB, no with flat files.
distributed:	yes with commercial DB, no with flat files.
query language: SQL, any SCHEME program.
limits:		None.
robustness:	?
description:	This is a scheme interpreter with built-in procedures using
		the Oracle Call Interface (OCI) and DIGITAL RDB SQL Services.
		You can use it merely as a flexible database loader/unloader
		with fast binary flat-file data save/restore. Or you can
		use it to apply the classic "Symbolic Manipulation" or
		"Artificial Intelligence" techniques on your data sets.
		The main-program can be oriented towards batch, character-cell
		terminal, or Window/GUI.
references:	"Structure and Interpretation of Computer Programs" MIT Press.
announcements:	comp.lang.scheme, comp.databases.rdb, comp.databases.oracle
bugs:		Contact the author.
requires:	C compiler, your favorite commercial DB.
ports:		VMS, WINDOWS NT, UNIX, OS/2, MACINTOSH. 
author:		George Carrette <gjc@mitech.com>
how to get:	ftp pub/gjc/siod* from world.std.com.
updated:	1994/02/14
