Linear Haskell: practical linearity in a higher-order polymorphic language

Author:

Bernardy Jean-Philippe1,Boespflug Mathieu2,Newton Ryan R.3,Peyton Jones Simon4,Spiwack Arnaud2

Affiliation:

1. University of Gothenburg, Sweden

2. Tweag I/O, France

3. Indiana University, USA

4. Microsoft Research, UK

Abstract

Linear type systems have a long and storied history, but not a clear path forward to integrate with existing languages such as OCaml or Haskell. In this paper, we study a linear type system designed with two crucial properties in mind: backwards-compatibility and code reuse across linear and non-linear users of a library. Only then can the benefits of linear types permeate conventional functional programming. Rather than bifurcate types into linear and non-linear counterparts, we instead attach linearity to function arrows . Linear functions can receive inputs from linearly-bound values, but can also operate over unrestricted, regular values. To demonstrate the efficacy of our linear type system — both how easy it can be integrated in an existing language implementation and how streamlined it makes it to write programs with linear types — we implemented our type system in ghc, the leading Haskell compiler, and demonstrate two kinds of applications of linear types: mutable data with pure interfaces; and enforcing protocols in I/O-performing functions.

Funder

Vetenskapsrådet

European Research Council

Publisher

Association for Computing Machinery (ACM)

Subject

Safety, Risk, Reliability and Quality,Software

Reference36 articles.

1. Monads Need Not Be Endofunctors

2. Cogent

3. Logic Programming with Focusing Proofs in Linear Logic

4. Robert Atkey. 2017. The Syntax and Semantics of Quantitative Type Theory. (2017). Under submission. Robert Atkey. 2017. The Syntax and Semantics of Quantitative Type Theory. (2017). Under submission.

5. Uniqueness typing for functional languages with graph rewriting semantics

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

1. Coeffects for MiniJava: Cf-Mj;Proceedings of the 26th ACM International Workshop on Formal Techniques for Java-like Programs;2024-09-20

2. Oxidizing OCaml with Modal Memory Management;Proceedings of the ACM on Programming Languages;2024-08-15

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

4. Linear Contextual Metaprogramming and Session Types;Electronic Proceedings in Theoretical Computer Science;2024-04-06

5. Soundly Handling Linearity;Proceedings of the ACM on Programming Languages;2024-01-05

同舟云学术

1.学者识别学者识别

2.学术分析学术分析

3.人才评估人才评估

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

www.globalauthorid.com

TOP

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