


scheme48(1)                                           scheme48(1)


NAME
       scheme48 - a Scheme interpreter

SYNOPSIS
       scheme48 [-i image] [-h heapsize] [-a argument]

DESCRIPTION
       scheme48  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/scheme48vm      the virtual machine.



                                                                1





scheme48(1)                                           scheme48(1)


       /usr/local/lib/scheme48/scheme48.image  the default image.
























































                                                                2


