Data Layout from a Type-Theoretic Perspective

12/13/2022
by   Henry DeYoung, et al.
0

The specifics of data layout can be important for the efficiency of functional programs and interaction with external libraries. In this paper, we develop a type-theoretic approach to data layout that could be used as a typed intermediate language in a compiler or to give a programmer more control. Our starting point is a computational interpretation of the semi-axiomatic sequent calculus for intuitionistic logic that defines abstract notions of cells and addresses. We refine this semantics so addresses have more structure to reflect possible alternative layouts without fundamentally departing from intuitionistic logic. We then add recursive types and explore example programs and properties of the resulting language.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/01/2018

TWAM: A Certifying Abstract Machine for Logic Programs

Type-preserving (or typed) compilation uses typing derivations to certif...
research
02/01/2020

Intuitionistic Fixed Point Logic

We study the system IFP of intuitionistic fixed point logic, an extensio...
research
07/09/2020

Logic of computational semi-effects and categorical gluing for equivariant functors

In this paper, we revisit Moggi's celebrated calculus of computational e...
research
09/14/2017

Structural Resolution for Abstract Compilation of Object-Oriented Languages

We propose abstract compilation for precise static type analysis of obje...
research
01/04/2023

Proofs as stateful programs: A first-order logic with abstract Hoare triples, and an interpretation into an imperative language

We introduce an extension of first-order logic that comes equipped with ...
research
12/31/2017

A Light Modality for Recursion

We investigate the interplay between a modality for controlling the beha...
research
12/31/2017

Two Light Modalities for Recursion

We investigate the interplay between two modalities for controlling the ...

Please sign up or login with your details

Forgot password? Click here to reset