@string{iucs = {Indiana Computer Science Department}} @string{j:cl = {Computer Languages}} @string{j:lasc = {{Lisp} and Symbolic Computation}} @string{p:lfp86 = {Proceedings of the 1986 {ACM} Conference on {Lisp} and Functional Programming}} @string{p:lfp88 = {Proceedings of the 1988 {ACM} Conference on {Lisp} and Functional Programming}} @string{p:lfp94 = {Proceedings of the 1994 {ACM} Conference on {Lisp} and Functional Programming}} @string{p:pldi90 = {Proceedings of the {SIGPLAN} '90 Conference on Programming Language Design and Implementation}} @string{p:pldi93 = {Proceedings of the {SIGPLAN} '93 Conference on Programming Language Design and Implementation}} @manual{Cadence:csrm, title = {{Chez Scheme} Reference Manual, {Version} 1.0}, author = {R. Kent Dybvig and Bruce T. Smith}, organization = {Cadence Research Systems}, address = {Chapel Hill, North Carolina}, month = "May", year = 1985, annote = {Precursor to~\cite{Dybvig:tspl}.}} @book{Dybvig:tspl, author = {R. Kent Dybvig}, title = {The {Scheme} Programming Language}, publisher = {Prentice-Hall}, year = 1987, annote = {Brief introduction and reference manual for Scheme with some Chez Scheme specifics. Currently being revised.}} @phdthesis{Dybvig:phd, author = {R. Kent Dybvig}, title = {Three Implementation Models for Scheme}, school = {University of North Carolina}, address = {Chapel Hill}, month = apr, year = 1987, annote = {Chapter 4 describes the essence of the Chez Scheme Version~1 run-time architecture.}} @inproceedings{Dybvig:epsprelim, author = {R. Kent Dybvig and Daniel P. Friedman and Christopher T. Haynes}, title = {Expansion-Passing Style: Beyond Conventional Macros}, booktitle = p:lfp86, pages = {143--150}, year = 1986, annote = {Preliminary version of~\cite{Dybvig:eps}.}} @article{Dybvig:eps, author = {R. Kent Dybvig and Daniel P. Friedman and Christopher T. Haynes}, title = {Expansion-passing style: A general macro mechanism}, journal = j:lasc, volume = 1, number = 1, pages = {53--75}, year = 1988, annote = {Describes the low-level macro mechanism provided by Chez Scheme Versions~2--4.}} @article{Dybvig:engines, author = {R. Kent Dybvig and Robert Hieb}, title = {Engines from continuations}, journal = j:cl, volume = 14, number = 2, pages = {109--123}, year = 1989, annote = {Describes the continuation-based engine implementation used by Chez Scheme.}} @techreport{Dybvig:destination, author = {R. Kent Dybvig and Robert Hieb and Tom Butler}, title = {Destination-driven code generation}, institution = iucs, number = 302, month = feb, year = 1990, annote = {Describes the basic mechanism used by Chez Scheme's code generator to generate code from abstract syntax trees.}} @inproceedings{Hieb:representing, author = {Robert Hieb and R. Kent Dybvig and Carl Bruggeman}, title = {Representing control in the presence of first-class continuations}, booktitle = p:pldi90, pages = {66--77}, month = jun, year = 1990, annote = {Describes Chez Scheme's segmented stack representation of continuations.}} @inproceedings{Dybvig:arityprelim, author = {R. Kent Dybvig and Robert Hieb}, title = {A Variable-arity Procedural Interface}, booktitle = p:lfp88, pages = {106--115}, month = jul, year = 1988, annote = {Preliminary version of~\cite{Dybvig:arity}.}} @article{Dybvig:arity, author = {R. Kent Dybvig and Robert Hieb}, title = {A new approach to procedures with variable arity}, journal = j:lasc, volume = 3, number = 3, pages = {229--244}, month = sep, year = 1990, annote = {Describes an alternative to the ``dot'' notation for defining procedures that accept variable numbers of arguments; only the multiple-case notion is adopted in Chez Scheme (as {\it case-lambda}).}} @techreport{Dybvig:syntax-case, author = {R. Kent Dybvig}, title = {Writing hygienic macros in Scheme with syntax-case}, institution = iucs, number = 356, month = jun, year = 1992, annote = {Introduces the {\it syntax-case} macro system through a series of examples. Some overlap with~\cite{Dybvig:syntactic}.}} @inproceedings{Dybvig:guardians, author = {R. Kent Dybvig and Carl Bruggeman and David Eby}, title = {Guardians in a generation-based garbage collector}, booktitle = p:pldi93, pages = "207-216", month = jun, year = 1993, annote = {Introduces guardians and describes the implementation of guardians and weak pairs in Chez Scheme.}} @article{Dybvig:syntactic, author = {R. Kent Dybvig and Robert Hieb and Carl Bruggeman}, title = {Syntactic abstraction in {Scheme}}, journal = j:lasc, volume = 5, number = 4, pages = {295-326}, year = 1993, annote = {Describes the {\it syntax-case} macro system and its implementation and argues why it is superior to previous attempts at hygienic macro systems.}} @techreport{Dybvig:sm, author = {R. Kent Dybvig and David Eby and Carl Bruggeman}, title = {Don't stop the {BiBOP}: Flexible and efficient storage management for dynamically-typed languages}, institution = iucs, number = 400, month = "March", year = 1994, annote = {Describes Chez Scheme's storage management system.}} @inproceedings{Ashley:mvalues, author = {J. Michael Ashley and R. Kent Dybvig}, title = {An efficient implementation of multiple return values in {Scheme}}, booktitle = p:lfp94, pages = {140-149}, month = jun, year = 1994, annote = {Describes Chez Scheme's implementation of the Scheme multiple return values interface.}} @manual{Cadence:cssm, title = {{Chez Scheme} System Manual, Rev. 2.4}, organization = {Cadence Research Systems}, address = {Bloomington, Indiana}, month = "July", year = 1994, annote = {Describes various aspects of Chez Scheme not covered in~\cite{Dybvig:tspl}.}}