GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
SIOD(1C) SIOD(1C)

siod - small scheme interpreter (Scheme In One Defun).

siod [-sX] [-hX] [-iX] [-gX] [-oX] [-nX] [-eX] [-vX] [-lX] [-mX] [-vX] [filenames]

Siod is a very small scheme interpreter which can be used for interactive calculations, scripts, or included as a command interpreter or extension/macro language in other applications. See the documentation for interfacing requirements and how to add user-defined data types. The dash-style command line options may also be delimited by commas.

The arguments are files which are loaded from the current or SIOD_LIB directory, by usual default /usr/local/lib/siod. Or the symbol repl to cause entry into the read-eval-print-loop, or parenthetical expressions to be evaluated.

The XXXXX should be an integer, specifying the number of cons cells to allocate in the heap. The default is 100000:10. Or an integer followed by a colon, the number after which gives the maximum number of heaps to malloc with mark and sweep gc mode.
The XXXXX should be the name of an init file to load before going into the read/eval/print loop.
The X is 1 for a stop and copy garbage collector, 0 for a mark and sweep one (the default).
The XXXXX should be an integer, specifying the size of the obarray (symbol hash table) to use. Defaults to 1000. Each array element is a list of symbols.
The XXXXX should be an integer, specifying the number of pre-cons numbers to create. The default is 100.
The XXXXX should be an integer, specifying the number of bytes of recursion on the machine (C-call frame) stack to allow. This may be changed while the programming is running, and is mainly a convenience for detecting defects in programs. Default 200000.
The XXXXX is an expression to evaluate (after loading the init file, if any). After evaluating the expression the program will exit.
The XXXXX is a library directory to use for the require procedure. defaults to the environment variable SIOD_LIB or /usr/local/lib/siod.
The XXXXX is an integer verboseness from 0 to 4. When used in scripts the most generally useful level is 0. Defaults to 4.
The XXXXX can be 0 (default) which has no effect, or 1, which causes the scheme procedure main, with no arguments to be invoked after all files are loaded, or 2, which does the same thing but prevents further arguments from being interpreted, or 3, which will wrap special error handling around the call to main which is convenient for writing cgi scripts producing html. The environment may be obtained from the getenv procedure or the variable *env*. Arguments are found in *args*.
The XXXXX Is passed along to the siod argument processing, however if the value is greater than 0 a Content-type: text/plain header is generated immediately (except if the number is represented with a leading zero), which can be convenient for debugging WWW cgi scripts. For example:

#!/usr/local/bin/siod -v0,-m2
(define (main)

(writes nil "Hello World0))

Which if invoked normally will result in

%hello.scm
Hello World
    

And with the verbose flag over-ride on the command line:

%hello.scm -v5
Content-type: text/plain
Welcome to SIOD, Scheme In One Defun, Version 3.1x 12-JUN-95
(C) Copyright 1988-1994 Paradigm Associates Inc.
10 heaps. size = 100000 cells, 2400000 bytes. 2048 inums. GC is mark and sweep
loading hello.scm
(define (main) (writes nil "Hello World
"))
done.
Hello World
EXIT
    

Errors during non-interactive usage mode result in a non-zero exit status.

Files which are loaded by the interpreter may contain the sequence of characters parser:XXXXX in a comment in the first line of the file. This will result in the automatic loading of the file parser_XXXXX.scm which must provide a procedure parser_XXXXX to return a procedure to read the forms from the file to be loaded. Useful values of XXXXX include read, pratt, and fasl.

/usr/local/lib/siod/* /usr/local/lib/siod/siod.html /usr/local/lib/libsiod.so

command csiod http://people.delphi.com/gjc/siod.html

Structure and Interpretation of Computer Programs , by Abelson and Sussman, MIT Press.

Error messages may also set the variable errobj to the offending object.

With -g1 it does not GC during EVAL, only before each READ/EVAL/PRINT cycle. It does GC during EVAL with -g0, but that code may not run without modification on all architectures.

Current version is 3.2, 12-MAR-96, by George Carrette. GJC@world.std.com

LOCAL

Search for    or go to Top of page |  Section 1 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.