Static prediction of heap space usage for first-order functional programs
M Hofmann, S Jost - ACM SIGPLAN Notices, 2003 - dl.acm.org
We show how to efficiently obtain linear a priori bounds on the heap space consumption of
first-order functional programs. The analysis takes space reuse by explicit deallocation into …
first-order functional programs. The analysis takes space reuse by explicit deallocation into …
A high-level separation logic for heap space under garbage collection
We present a Separation Logic with space credits for reasoning about heap space in a
sequential call-by-value lambda-calculus equipped with garbage collection and mutable …
sequential call-by-value lambda-calculus equipped with garbage collection and mutable …
FP²: Fully in-Place Functional Programming
A Lorenzen, D Leijen, W Swierstra - Proceedings of the ACM on …, 2023 - dl.acm.org
As functional programmers we always face a dilemma: should we write purely functional
code, or sacrifice purity for efficiency and resort to in-place updates? This paper identifies …
code, or sacrifice purity for efficiency and resort to in-place updates? This paper identifies …
L^ 3: a linear language with locations
We present a simple, but expressive type system that supports strong updates–updating a
memory cell to hold values of unrelated types at different points in time. Our formulation is …
memory cell to hold values of unrelated types at different points in time. Our formulation is …
Region analysis and transformation for Java programs
S Cherem, R Rugina - Proceedings of the 4th international symposium …, 2004 - dl.acm.org
This paper presents a region analysis and transformation framework for Java programs.
Given an input Java program, the compiler automatically translates it into an equivalent …
Given an input Java program, the compiler automatically translates it into an equivalent …
A separation logic for heap space under garbage collection
We present SL♢, a Separation Logic that allows controlling the heap space consumption of
a program in the presence of dynamic memory allocation and garbage collection. A user of …
a program in the presence of dynamic memory allocation and garbage collection. A user of …
L3: A Linear Language with Locations
We explore foundational typing support for strong updates—updating a memory cell to hold
values of unrelated types at different points in time. We present a simple, but expressive type …
values of unrelated types at different points in time. We present a simple, but expressive type …
Mobile resource guarantees for smart devices
Abstract We present the Mobile Resource Guarantees framework: a system for ensuring that
downloaded programs are free from run-time violations of resource bounds. Certificates are …
downloaded programs are free from run-time violations of resource bounds. Certificates are …
A step-indexed model of substructural state
The concept of a" unique" object arises in many emerging programming languages such as
Clean, CQual, Cyclone, TAL, and Vault. In each of these systems, unique objects make it …
Clean, CQual, Cyclone, TAL, and Vault. In each of these systems, unique objects make it …
Dependent types
D Aspinall, M Hofmann - Advanced topics in types and …, 2004 - research.ed.ac.uk
In the most general sense, dependent types are type-valued functions. This definition
includes, for example, the type operators of Fω such as Pair. When applied to two types S …
includes, for example, the type operators of Fω such as Pair. When applied to two types S …