Author:
KEEP ANDREW W.,DYBVIG R. KENT
Abstract
AbstractThe 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.
Publisher
Cambridge University Press (CUP)
Reference20 articles.
1. Winkelmann F. L. & The Chicken Team. (2012) The CHICKEN User's Manual.
2. Kelsey R. , Rees J. & Sperber M. (2008) The incomplete Scheme 48 reference manual for release 1.8.
3. Hickey R. (2012). Clojure.
4. Ghuloum A. (2008 October). Ikarus Scheme User's Guide.
5. Flatt M. , Findler R. B. & PLT. (2012) The Racket Guide.
Cited by
2 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Record data structures in racket;ACM SIGAPP Applied Computing Review;2017-01-13
2. Optimizing record data structures in Racket;Proceedings of the 31st Annual ACM Symposium on Applied Computing;2016-04-04