LS48

Section: User Commands (1)
Index Return to Main Contents
 

NAME

LS48 - a Scheme interpreter  

SYNOPSIS

LS48 [ -i image] [-h heapsize] [-a argument]  

DESCRIPTION

LS48 is an implementation of the Scheme programming language as described in the Revised^4 Report on the Algorithmic Language Scheme. A runnable system requires two parts, an executable program that implements the Scheme48 virtual machine, and an image that is used to initialize the store of the virtual machine. Some images are executable and contain instructions that cause the virtual machine to be invoked with a store initialized to be the contents of the image. LS48 is an executable image that starts in a Scheme command loop.

The LS48 command loop reads Scheme expressions, evaluates them, and prints their results. It also executes commands, which are identified by an initial colon character. Type the command :help to receive a list of available commands.

The -h option causes heapsize bytes to be allocated for both semispaces of the copying garbage collector. Cons cells are currently 12 bytes, so if you want to make sure you can allocate, say, a million cons cells, you should specify -h 24000000 (actually a little more, to account for the initial heap image and breathing room).

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 string to be passed as the argument to an image generated using the :build command.

     > :build (lambda (a) (display a) (newline)) foo.image
     > :exit
     $ LS48 -i foo.image -a mumble
     mumble
     $ 

 

FILES

LLIB/scheme48vm
the virtual machine.
LBIN/LS48
the default image.
 

BUGS

Bignum arithmetic is slow, and there is no support for floating point.


 

Index

NAME
SYNOPSIS
DESCRIPTION
FILES
BUGS

This document was created by man2html, using the manual pages.
Time: 23:20:12 GMT, February 06, 2023