[manual index][section index]

NAME

scheme - Scheme interpreter

SYNOPSIS

scheme

DESCRIPTION

This Scheme interpreter implements nearly all of the essential procedures of the r4rs Scheme standard, save for call-with-curent-continuation. It also implements most of the features of r5rs, with the major exceptions being macros and calls related to continuation. Finally, it behaves as r6rs, rather than r[45]rs in being case-sensitive.

EXTENSIONS

(quit)
This does the obvious of exiting the interpreter.
(popen cmd-string)
The cmd-string is executed by the shell. The command's standard input and output are assigned to two Scheme ports which make a list returned by this function. One particular use of popen is in talking to Tk. For example,
(define tkports (popen "tkcmd"))
(define tkin (car tkports))
(define tkout (cadr tkports))
(display "label .l -text {Hello World}n" tkout)
(display "pack .ln" tkout)
is a simple graphical version of everyone's favorite first program.
(<-=)
(=<-)
(alt)
(channel)
(close-inout-port)
(open-inout-file)
(open-input-string)
(readfile)
(readline)
(sleep)
(spawn)

CURRENT STATUS

r4rs
all essential procedures except (call-with-current-continuation)
r5rs
all non-optional features except (char-ready?) (call-with-current-continuation) (values) (call-with-values) (dynamic-wind) (define-syntax) (let-syntax) (letrec-syntax) (syntax-rules)

SOURCE

/appl/scheme/cell.b - core cell, pair, and environment routines.
/appl/scheme/sform.b - functions that implement special forms.
/appl/scheme/builtin.b - functions that implement built-in procedures.
/appl/scheme/scheme.b - top-level REPL functions.
extension.b - Inferno scheme extensions.
/lib/scheme/library.scm - Some procedures implemented in scheme, rather than directly as built-in functions.

BUGS

The (char-ready?) procedure is not likely to ever be implemented; there's not really a good way to do it in Inferno. No complex numbers. No compiler. Error handling should be better. Proper tail calls only partial with little testing.

SCHEME(1 ) Rev:  Sat Aug 05 16:14:03 GMT 2023