A graded dependent type system with a usage-aware semantics (extended version)

11/08/2020
by   Pritam Choudhury, et al.
0

Graded Type Theory provides a mechanism to track and reason about resource usage in type systems. In this paper, we develop GraD, a novel version of such a graded dependent type system that includes functions, tensor products, additive sums, and a unit type. Since standard operational semantics is resource-agnostic, we develop a heap-based operational semantics and prove a soundness theorem that shows correct accounting of resource usage. Several useful properties, including the standard type soundness theorem, non-interference of irrelevant resources in computation and single pointer property for linear resources, can be derived from this theorem. We hope that our work will provide a base for integrating linearity, irrelevance and dependent types in practical programming languages like Haskell.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
04/28/2020

Linear Dependent Type Theory for Quantum Programming Languages

Modern quantum programming languages integrate quantum resources and cla...
research
07/18/2023

Polynomial Time and Dependent Types

We combine dependent types with linear type systems that soundly and com...
research
04/01/2021

Idris 2: Quantitative Type Theory in Practice

Dependent types allow us to express precisely what a function is intende...
research
08/14/2019

Type-Based Resource Analysis on Haskell

We propose an amortized analysis that approximates the resource usage of...
research
05/01/2018

Denotational semantics of recursive types in synthetic guarded domain theory

Just like any other branch of mathematics, denotational semantics of pro...
research
02/15/2023

Multi-graded Featherweight Java

Resource-aware type systems statically approximate not only the expected...
research
02/21/2020

Exponential Amortized Resource Analysis

Automatic amortized resource analysis (AARA) is a type-based technique f...

Please sign up or login with your details

Forgot password? Click here to reset