summaryrefslogtreecommitdiff
path: root/lang/RScheme/DESCR
blob: befd93a579947523671be1f2137afbc0781dcb67 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
RScheme is an object-oriented, extended version of the Scheme dialect
of Lisp.  RScheme is freely redistributable, and offers reasonable
performance despite being extraordinarily portable.  RScheme can be
compiled to C, and the C can then compiled with a normal C compiler to
generate machine code.  This can be done from a running system, and
the resulting object code can be dynamically linked into RScheme as a
program executes.  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.  In general, we
recommend using the (default) bytecode code generation system, and
only compiling your time-critical code to machine code.  This allows a
nice adjustment of space/time tradeoffs.

To the casual user, RScheme appears to be an interpreter.  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.