Proposal for a Small Scheme Implementation
Author(s)
Schooler, Richard; Stamos, James W.
DownloadMIT-LCS-TM-267.pdf (5.163Mb)
Metadata
Show full item recordAbstract
Scheme is a lexically scoped dialect of LISP developed at MIT. In this report we determine the feasibility of implementing a Scheme-based programming/application environment on a contemporary personal computer such as the Apple Macintosh. The absense of virtual memmory, coupled with a limitation on the maximum amount of physical memory, means that space is at a premium. We suggest the use of bytecodes and sketch a possible instruction set. Because of space constraints, tail-recursion optimization and an efficient mechanism for the reclamation of inaccessible contexts are also examined. Using the built-in operating system and user interface of the Macintosh realizes speed, functionality, and friendliness but raises a number of interesting issues. For example, the Pascal and assembler routines make many assumptions about data representation, type checking, and parameter passing. Since an implementation of Scheme is likely to have radically different conventions, the two environments must be interfaced smoothly and efficiently. In addition to the bytecode instruction set, we specify the virtual machine informally, discuss the implementation of basic and advanced features, and estimate the performance of such an implementation, and finally evaluate the proposed design.
Date issued
1984-10Series/Report no.
MIT-LCS-TM-267