Hostname: page-component-6766d58669-bp2c4 Total loading time: 0 Render date: 2026-05-14T23:15:16.392Z Has data issue: false hasContentIssue false

A run-time representation of scheme record types

Published online by Cambridge University Press:  01 September 2014

ANDREW W. KEEP
Affiliation:
University of Utah and Cisco Systems Inc. (e-mail: akeep@cisco.com)
R. KENT DYBVIG
Affiliation:
Cisco Systems Inc. (e-mail: dyb@cisco.com)
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the 'Save PDF' action button.

The Revised6 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 run-time 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 run-time 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.

Submit a response

Discussions

No Discussions have been published for this article.