# MIT/GNU Scheme 11.2

# MIT/GNU Scheme

This manual documents the use of MIT/GNU Scheme 11.2.

Copyright © 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Massachusetts Institute of Technology

> Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts and no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License.”

## Table of Contents

- Introduction
- 1 Installation
  - 1.1 Unix Installation
- 2 Running Scheme
  - 2.1 Basics of Starting Scheme
  - 2.2 Customizing Scheme
  - 2.3 Memory Usage
  - 2.4 Command-Line Options
  - 2.5 Custom Command-line Options
  - 2.6 Environment Variables
    - 2.6.1 Environment Variables for the Microcode
    - 2.6.2 Environment Variables for the Runtime System
    - 2.6.3 Environment Variables for Edwin
  - 2.7 Leaving Scheme
- 3 Using Scheme
  - 3.1 The Read-Eval-Print Loop
    - 3.1.1 The Prompt and Level Number
    - 3.1.2 Interrupting
    - 3.1.3 Restarting
    - 3.1.4 The Current REPL Environment
    - 3.1.5 REPL Escapes
  - 3.2 Loading Files
  - 3.3 World Images
  - 3.4 Garbage Collection
- 4 Compiling Programs
  - 4.1 Compilation Procedures
  - 4.2 Declarations
    - 4.2.1 Standard Names
    - 4.2.2 In-line Coding
    - 4.2.3 Operator Replacement
    - 4.2.4 Operator Reduction
  - 4.3 Efficiency Tips
    - 4.3.1 Coding style
    - 4.3.2 Top-level variables
    - 4.3.3 Type and range checking
    - 4.3.4 Fixnum arithmetic
    - 4.3.5 Flonum arithmetic
- 5 Debugging
  - 5.1 Subproblems and Reductions
  - 5.2 The Command-Line Debugger
  - 5.3 Debugging Aids
  - 5.4 Advising Procedures
- 6 Profiling
- 7 GNU Emacs Interface
- 8 Edwin
  - 8.1 Starting Edwin
  - 8.2 Leaving Edwin
  - 8.3 Scheme Mode
  - 8.4 Evaluation
  - 8.5 REPL Mode
  - 8.6 The Edwin Debugger
  - 8.7 Last Resorts
- Appendix A GNU Free Documentation License
  - A.1 ADDENDUM: How to use this License for your documents
- Appendix B Environment-variable Index
- Appendix C Option Index
- Appendix D Variable Index
- Appendix E Concept Index