scheme48(1)scheme48(1)NAMEscheme48 - a Scheme interpreter
SYNOPSISscheme48 [-i image] [-h heapsize] [-a argument]
DESCRIPTIONscheme48 is an implementation of the Scheme programming language as
described in the Revised^5 Report on the Algorithmic Language Scheme.
A runnable system requires two parts, an executable program that imple‐
ments the Scheme 48 virtual machine, and an image that is used to ini‐
tialize the store of the virtual machine. scheme48 is a shell script
that starts the virtual machine with an image that runs in a Scheme
command loop.
The scheme48 command loop reads Scheme expressions, evaluates them, and
prints their results. It also executes commands, which are identified
by an initial comma character. Type the command ,help to receive a
list of available commands.
The meaning of the -h option depends on the type of garbage collector
that was chosen at configuration time. If heapsize is a positive num‐
ber, it specifies the number of words that can be live at any given
time. One word is four bytes. Cons cells are currently 3 words, so if
you want to make sure you can allocate, say, a million cons cells, you
should specify -h 3000000 (actually a little more, to account for the
initial heap image and breathing room).
If you specify a maximum smaller than the memory needed to load the
image file, the maximum is increased accordingly and a message is writ‐
ten to the console.
For the BIBOP garbage collector, heapsize may be 0. This means the
heap will possibly keep growing until your system runs out of memory.
Because of this risk, a warning message is written to the console if
you specify -h 0.
The ,dump and ,build commands put heap images in files. The -i option
causes the initial heap image to be taken from file image. The -a
option causes a list of strings to be passed as the argument to an
image generated using the ,build command. The first argument to ,build
is a procedure that is passed the arguments following -a and which
should return an integer (which is the return value of the Scheme 48
process).
> ,build (lambda (a) (display a) (newline) 0) foo.image
> ,exit
$ scheme48-i foo.image -a mumble
mumble
$
FILES
/usr/local/lib/scheme48-1.9.2/scheme48vm
the virtual machine.
/usr/local/lib/scheme48-1.9.2/scheme48.image
the default image.
scheme48(1)