QuB: A Resource Aware Functional Programming Language

12/20/2019
by   Apoorv Ingle, et al.
0

Managing resources—file handles, database connections, etc.—is a hard problem. Debugging resource leaks and runtime errors due to resource mismanagement are difficult in evolving production code. Programming languages with static type systems are great tools to ensure erroneous code is detected at compile time. However, modern static type systems do little in the aspect of resource management as resources are treated as normal values. We propose a type system, Qub, based on the logic of bunched implications (BI) which models resources as first class citizens. We distinguish two kinds of program objects—restricted and unrestricted—and two kinds of functions—sharing and separating. Our approach guarantees resource correctness without compromising existing functional abstractions.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
03/07/2018

Resource Polymorphism

We present a resource-management model for ML-style programming language...
research
08/26/2019

Kindly Bent to Free Us

Systems programming often requires the manipulation of resources like fi...
research
08/17/2021

Solving the Funarg Problem with Static Types

The difficulty associated with storing closures in a stack-based environ...
research
08/14/2019

Type-Based Resource Analysis on Haskell

We propose an amortized analysis that approximates the resource usage of...
research
02/15/2023

Multi-graded Featherweight Java

Resource-aware type systems statically approximate not only the expected...
research
12/11/2021

Overcoming Restraint: Composing Verification of Foreign Functions with Cogent

Cogent is a restricted functional language designed to reduce the cost o...
research
08/28/2020

Effectiveness of Annotation-Based Static Type Inference

Benefits of static type systems are well-known: they offer guarantees th...

Please sign up or login with your details

Forgot password? Click here to reset