Kindly bent to free us

Author:

Radanne Gabriel1,Saffrich Hannes2,Thiemann Peter2

Affiliation:

1. Inria, France

2. University of Freiburg, Germany

Abstract

Systems programming often requires the manipulation of resources like file handles, network connections, or dynamically allocated memory. Programmers need to follow certain protocols to handle these resources correctly. Violating these protocols causes bugs ranging from type mismatches over data races to use-after-free errors and memory leaks. These bugs often lead to security vulnerabilities. While statically typed programming languages guarantee type soundness and memory safety by design, most of them do not address issues arising from improper handling of resources. An important step towards handling resources is the adoption of linear and affine types that enforce single-threaded resource usage. However, the few languages supporting such types require heavy type annotations. We present Affe, an extension of ML that manages linearity and affinity properties using kinds and constrained types. In addition Affe supports the exclusive and shared borrowing of affine resources, inspired by features of Rust. Moreover, Affe retains the defining features of the ML family: it is an impure, strict, functional expression language with complete principal type inference and type abstraction. does not require any linearity annotations in expressions and supports common functional programming idioms.

Funder

German Research Council

Publisher

Association for Computing Machinery (ACM)

Subject

Safety, Risk, Reliability and Quality,Software

Reference38 articles.

1. The ins and outs of Clean I/O

2. Typestate-oriented programming

3. Type Soundness Proofs With Definitional Interpreters;Amin Nada;POPL. ACM,2017

4. Phil Bagwell. 2001. Ideal Hash Trees. Phil Bagwell. 2001. Ideal Hash Trees.

5. The Design and Formalization of Mezzo, a Permission-Based Programming Language

Cited by 5 articles. 订阅此论文施引文献 订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献

1. Functional Ownership through Fractional Uniqueness;Proceedings of the ACM on Programming Languages;2024-04-29

2. Kind Inference for the FreeST Programming Language;Electronic Proceedings in Theoretical Computer Science;2023-04-13

3. A Survey on Parallelism and Determinism;ACM Computing Surveys;2023-02-02

4. Linearly qualified types: generic inference for capabilities and uniqueness;Proceedings of the ACM on Programming Languages;2022-08-29

5. Linearity and Uniqueness: An Entente Cordiale;Programming Languages and Systems;2022

同舟云学术

1.学者识别学者识别

2.学术分析学术分析

3.人才评估人才评估

"同舟云学术"是以全球学者为主线,采集、加工和组织学术论文而形成的新型学术文献查询和分析系统,可以对全球学者进行文献检索和人才价值评估。用户可以通过关注某些学科领域的顶尖人物而持续追踪该领域的学科进展和研究前沿。经过近期的数据扩容,当前同舟云学术共收录了国内外主流学术期刊6万余种,收集的期刊论文及会议论文总量共计约1.5亿篇,并以每天添加12000余篇中外论文的速度递增。我们也可以为用户提供个性化、定制化的学者数据。欢迎来电咨询!咨询电话:010-8811{复制后删除}0370

www.globalauthorid.com

TOP

Copyright © 2019-2024 北京同舟云网络信息技术有限公司
京公网安备11010802033243号  京ICP备18003416号-3