---
name: "s2ci"
section: "1"
platform: "linux"
package: "scheme2c"
version: "2012.10.14-1"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/s2ci"
---

# s2ci(1)

Scheme interpreter

## NAME

s2ci - Scheme interpreter

## SYNTAX

**s2ci** \[ option \]

## DESCRIPTION

The  **s2ci** command (previously known as **sci**) invokes a Scheme interpreter.  The language accepted by this interpreter is that defined in the essential portions of the *Revised4 Report on the Algorithmic Language Scheme,* with minor constraints and some additions.  The Scheme interpreter is written in Scheme which has then been compiled using the Scheme-to-C compiler, **s2cc**.

## OPTIONS

These options are accepted by  **s2ci.**

- **-e**

  Echo text read from the standard input file on the standard output file.

- **-emacs**

  Scheme interpreter is controlled by GNU emacs.

- **-nh**

  Do not print the interpreter version header on the standard output file.

- **-np**

  Do not prompt for input from the standard input file on the standard output file.

- **-q**

  Do not print the result of each expression evaluation.

- **-scgc** *statflag*

  Enables garbage collection statistics.  If set to 1, then garbage collection statistics will be printed.  The default is 0, that will result in no statistics.

- **-sch** *heap*

  Specifies the initial size of the heap in megabytes.  The default heap size is 4 MB.  The maximum heap size allowed is 1000 MB.

- **-scl** *percent*

  Specifies the percent of the heap allocated after a generational garbage collection that will force a full collection.  The default is 40%.

- **-scm** *main*

  Specifies the function that should be used instead of the predefined "main". The function name must be entered in the correct case, i.e. letters typically  upshifted.

- **-scmh** *heap*

  Specifies the maximum heap size in megabytes.  The default is five times the initial size of the heap.

## ENVIRONMENT VARIABLES

The items controlled by *-sc..* flags can also be controlled by environment variables.  If both the flag and the environment variable are provided, then the flag's value will be used.

- **SCGCINFO**

  Controls the reporting of garbage collection statistics to the standard error file.  If set to 1, then garbage collection statistics will be printed.  The default setting is 0 that will not print the statistics.

- **SCHEAP**

  Specifies the initial size of the heap in megabytes.  The default heap size  is 4 MB.  The maximum heap size allowed is 1000 MB.

- **SCLIMIT**

  Specifies the percent of the heap allocated after a generational garbage collection that will force a full collection.  The default is 40%.

- **SCMAXHEAP**

  Specifies the maximum size of the heap in megabytes.  The default value is five times the initial heap size.

## FILES

The interpreter is one a.out file with the name *s2ci*.  All files associated with the interpreter are found in the directory *.../schemetoc/scrt***.**

## SEE ALSO

**Harold Abelson and Gerald Jay Sussman with Julie Sussman,** *Structure and Interpretation of Computer Programs,* **The MIT Press.**

**William Clinger and Jonathan Rees (Editors),** *Revised4 Report on the Algorithmic Language Scheme,* **LISP Pointers, Volume IV, Number 3, July-September 1991.  PostScript for** **this report is included in the software distribution.**

**Jerry D. Smith,** *An Introduction to Scheme,* **Prentice Hall, Inc.  Chapter notes for using this text with Scheme-\>C are** **included in the software distribution.**

**R. Kent Dybvig,** *The SCHEME Programming Language,* **Prentice Hall, Inc.**

**Daniel P. Friedman and Matthias Felleisen,** *The Little LISPer,* **MIT Press.**

**Joel F. Bartlett,** *Scheme-\>C  a Portable Scheme-to-C Compiler,* **WRL Research Report 89/1.**

**Additional documentation is included in the software distribution.**

**[s2cc(1)](/s2cc/1.md)**

## QUESTIONS, COMMENTS, AND COMPLAINTS

**http://alioth.debian.org/projects/scheme2c/**
