|
ABSTRACT
This paper describes an implementation of the new Scheme multiple values interface. The implementation handles multiple values efficiently, with no run-time overhead for normal calls and returns. Error checks are performed where necessary to insure that the expected number of values is returned in all situations. The implementation fits cleanly with our direct-style compiler and stack-based representation of control, but is equally well suited to continuation-passing style compilers and to heap-based run-time architectures.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
 |
1
|
H. Abelson , R. K. Dybvig , C. T. Haynes , G. J. Rozas , N. I. Adams, IV , D. P. Friedman , E. Kohlbecker , G. L. Steele, Jr. , D. H. Bartley , R. Halstead , D. Oxley , G. J. Sussman , G. Brooks , C. Hanson , K. M. Pitman , M. Wand , William Clinger , Jonathan Rees, Revised report on the algorithmic language scheme, ACM SIGPLAN Lisp Pointers, v.IV n.3, p.1-55, July, 1991
[doi> 10.1145/382130.382133]
|
 |
2
|
|
| |
3
|
R. Kent Dybvig, David Eby, and Carl Bruggeman. A segmented memory model for storage management in Scheme. Technical Report 400, Indiana University Computer Science Department, Lindley Hall 215, Bloomington Indiana, 47405, 1994.
|
| |
4
|
|
| |
5
|
|
| |
6
|
|
 |
7
|
|
| |
8
|
Guy L. Steele Jr. Common Lisp. Digital Press, second edition, 1990.
|
| |
9
|
Simon L. Peyton-Jones. Implementing lazy functional languages on stock hardware: the Spineless Tagless G- machine. Journal of Functional Programming, 2(2), April 1992.
|
 |
10
|
|
| |
11
|
System V Application Binary Interface, SPARC Processor Supplement, 1990.
|
| |
12
|
Cadence Research Systems. Chez Scheme System Manual. Bloomington, Indiana, February 1992.
|
| |
13
|
T Version 3.0 Release Notes.
|
| |
14
|
|
|