Chapter 1. Introduction

Table of Contents

RScheme is an object-oriented, extended version of the Scheme dialect of Lisp, principally a merger of concepts from the Scheme language (see Revised^4 Report on Scheme) and the Dylan language (see Dylan).

RScheme is freely redistributable, and offers reasonable performance despite being quite portable. Code written in RScheme can be compiled to C, and the C can then be compiled with a normal C compiler to generate machine code. By default, however, RScheme compiles to bytecodes which are interpreted by a (runtime) virtual machine. This ensures that compilation is fast and keeps code size down.

To the casual user, RScheme appears to be an interpreted language. You can type RScheme code at a read-eval-print loop, and it executes the code and prints the result. In reality, every expression you type to the read-eval-print-loop is compiled and the resulting code is executed. Since RScheme compiles to bytecodes at runtime, the interaction is fast.


This book is organized as reference material. No special effort is made to guide the user through programming in RScheme. For this purpose, we highly recommend Paul Wilson's Introduction to Scheme.

This book is intended as a general purpose user guide[1]. The target audience for this part is experienced programmers who wish to use RScheme as a language and system for fairly normal programming tasks. Included in this book are chapters describing the standard RScheme extensions -- packages that ship with the distribution.



For a technical reference, see the companion technical volume, The Design and Implementation of RScheme.