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

Please sign up or login with your details

Forgot password? Click here to reset