sisc(1) Second Interpreter of Scheme Code


sisc [ option ... ] [ argument ... [ -- [ program-option ... ] ]


SISC, the Second Interpreter of Scheme Code, is an extensible Java based interpreter of the Scheme language as described in the Revised^5 Report on the Algorithmic Language Scheme and adds numerous extensions including Java integration.


-c name
--call-with-args name
Calls the top-level procedure name with the remaining command-line arguments after the -- delimiter.
-e expr
--eval expr
Evaluates the provided expression.
Instructs SISC to run the command line and then exit without entering the REPL.
-h heap-file
--heap heap-file
Specifies that heap-file should be used as the initial heap image.
-p config-file
--properties config-file
Specifies a Java property file that contains application properties.
-l [<host>:]<port>
--listen [<host>:]<port>
Server Mode. Listen on <host>/<port> for REPL connections.


  The commandline is processed in the following manner.

First, the entire command line is processed, noting the settings of each switch and accumulating all Scheme source files and arguments after the end of options sequence.

Second, the heap file is loaded.

Third, each Scheme source file is loaded in the order they occured on the command line. Errors are noted.

Fourth, if present, the expression in an --eval switch is evaluated. Errors are noted.

Fifth, if present, named function in a --call-with-args switch is applied to the arguments after the end of options sequence. Its return value is noted.

Sixth, --no-repl was not specified, the REPL is invoked.

Finally, if the REPL was run if its return value is an integer, that integer is returned as SISC's overall return code. If the REPL was not run, and any return code supporting step above was run, the most recent return code is returned. If no return code step was performed, but a success/failure step was performed, 1 is returned if any failures occured, 0 otherwise.


SISC supports all the required SRFI-22 bootstraps, consult the body of SRFI-22 for more information about using it to write executable Scheme programs.


For further information on SISC, please read the SISC for Seasoned Schemers manual available at


Submit bug reports to the SISC Users Mailing List.


SISC was created by Scott G. Miller ([email protected]) with significant contribution from Matthias Radestock ([email protected]).