A type system for bounded space and functional in-place update-extended abstract

23Citations
Citations of this article
24Readers
Mendeley users who have this article in their library.

This article is free to access.

Abstract

We show how linear typing can be used to obtain functional programs which modify heap-allocated data structures in place. We present this both as a “design pattern" for writing C-code in a functional style and as a compilation process from linearly typed first-order functional programs into malloc()-free C code. The main technical result is the correctness of this compilation. The crucial innovation over previous linear typing schemes consists of the introduction of a resource type which controls the number of constructor symbols such as cons in recursive definitions and ensures linear space while restricting expressive power surprisingly little. While the space effciency brought about by the new typing scheme and the compilation into C can also be realised by with state-of-the-art optimising compilers for functional languages such as Ocaml [15], the pre- sent method provides guaranteed bounds on heap space which will be of use for applications such as languages for embedded systems or `proof carrying code' [18].

Cite

CITATION STYLE

APA

Hofmann, M. (2000). A type system for bounded space and functional in-place update-extended abstract. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 1782, pp. 165–179). Springer Verlag. https://doi.org/10.1007/3-540-46425-5_11

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free