A run-time representation of scheme record types

作者:Keep Andrew W*; Dybvig R Kent
来源:Journal of Functional Programming, 2014, 24(6): 675-716.
DOI:10.1017/S0956796814000203

摘要

The Revised(6) Report on the Algorithmic Language Scheme added a mechanism to the Scheme programming language for creating new record types procedurally. While many programming languages support user defined, structured data types, these are usually handled syntactically, so that the compiler can make choices at compile time about the memory layout of these data types. The procedural record types in Scheme, however, can be constructed at run time, making the efficient run-time representation of record types important to ensure good run-time performance. The runtime representation used in our implementation provides an extended model for record types allowing record types to represent foreign scalar data types, e.g., machine word integers, and allows the base record type to be extended to create non-R6RS record-type systems. This article describes our runtime representation for record types, how the garbage collector handles foreign scalar data types, and includes extended record type systems both for an object-oriented programming model and a representation of foreign structured data types.

  • 出版日期2014-11
  • 单位Cisco