Performance and evaluation of LISP systems
Performance and evaluation of LISP systems
A new approach to procedures with variable arity
Lisp and Symbolic Computation
Representing control in the presence of first-class continuations
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
Design and implementation of Kyoto Common Lisp
Journal of Information Processing
Back to direct style II: first-class continuations
LFP '92 Proceedings of the 1992 ACM conference on LISP and functional programming
Revised report on the algorithmic language scheme
ACM SIGPLAN Lisp Pointers
The scheme of things: the June 1992 meeting
ACM SIGPLAN Lisp Pointers
MIT Scheme Reference Manual
Representing control in the presence of one-shot continuations
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
A practical and flexible flow analysis for higher-order languages
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
A practical and flexible flow analysis for higher-order languages
ACM Transactions on Programming Languages and Systems (TOPLAS)
Inferring annotated types for inter-procedural register allocation with constructor flattening
Proceedings of the 2003 ACM SIGPLAN international workshop on Types in languages design and implementation
Constructed product result analysis for Haskell
Journal of Functional Programming
The development of Chez Scheme
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
Whalesong: running racket in the browser
Proceedings of the 9th symposium on Dynamic languages
Hi-index | 0.00 |
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.