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 …

A high-level separation logic for heap space under garbage collection

A Moine, A Charguéraud, F Pottier - Proceedings of the ACM on …, 2023 - dl.acm.org
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 …

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 …

L^ 3: a linear language with locations

A Ahmed, M Fluet, G Morrisett - Fundamenta Informaticae, 2007 - content.iospress.com
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 …

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 …

A separation logic for heap space under garbage collection

JM Madiot, F Pottier - Proceedings of the ACM on Programming …, 2022 - dl.acm.org
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 …

L3: A Linear Language with Locations

G Morrisett, A Ahmed, M Fluet - … , TLCA 2005, Nara, Japan, April 21-23 …, 2005 - Springer
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 …

Mobile resource guarantees for smart devices

D Aspinall, S Gilmore, M Hofmann, D Sannella… - … and Analysis of Safe …, 2005 - Springer
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 …

A step-indexed model of substructural state

A Ahmed, M Fluet, G Morrisett - Proceedings of the tenth ACM SIGPLAN …, 2005 - dl.acm.org
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 …

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 …