SHF: Medium: Collaborative Research: The Theory and Practice of Dependent Types in Haskell
SHF: Medium: Collaborative Research: The Theory and Practice of Dependent Types in Haskell
批准号:
1703835
负责人:
Stephanie Weirich
金额:
$63.87万
依托单位国家:
美国
项目类别:
Continuing Grant
财政年份:
2017
资助国家:
美国
项目状态:
已结题
起止时间:
2017-07-01 至 2022-06-30
中文摘要
该项目的首要目标是通过扩展Haskell编程语言来支持依赖类型,从而防止软件中的错误。Haskell被业界的研究人员和程序员用来构建各种软件系统,如金融分析工具、互动网站、数据可视化和自动化车辆软件。依赖类型是一种新兴的技术,它允许程序员避免软件中的错误,允许他们在代码中包含正确性的数学证明。这些证明在软件运行之前进行了检查,排除了出现故障的可能性,例如网站崩溃。智力上的优点是对先进数学理论与工业实力开发工具(Haskell)的整合的洞察力,以及对创建正确软件的基础数学原理的更深层次理解。该项目的更广泛的意义和重要性是让技术行业第一次接触到依赖类型的人,同时为学生(包括一名主要研究人员的本科女子学院的学生)创造机会从事这项技术。该项目包括实用和基础两部分。在Glasgow Haskell Compiler(GHC)8.0版中实现的Haskell类型系统能够通过使用许多语言扩展来模拟依赖类型。然而,这种使用需要笨拙的编码,并且支持它们的扩展使语言变得复杂。相反,该项目设想的Haskell类型系统基于依赖类型编程的统一方法,该方法包含先前的扩展。该项目的一部分涉及用基于依赖类型理论的核心语言替换GHC的核心语言,使用相关性注释来确保这些扩展是向后兼容的。此外,该项目还引入了可匹配函数,这是一个限定符,用于确定是否可以通过模式匹配来分析函数应用程序,从而支持依赖类型与GHC当前的类型推理算法的集成。最后,这个项目包括对依赖类型编程语言的语义的研究。
英文摘要
This project's overarching goal is to prevent bugs in software by extending the Haskell programming language to support dependent types. Haskell is used by researchers and programmers in industry to build a variety of software systems, such as financial analysis tools, interactive websites, data visualizations, and automated vehicle software. Dependent types are an up-and-coming technology that allows programmers to avoid bugs in their software, allowing them to include mathematical proofs of correctness in their code. These proofs are checked before the software ever runs, ruling out the possibility of failures, such as a crashed website. The intellectual merits are insights into the integration of advanced mathematical theories with an industrial-strength development tool (Haskell) and a deeper understanding of the mathematical principles that underlie the creation of correct software. The project's broader significance and importance are to give the technology industry access to dependent types for the first time, while creating opportunities for students (including those at one principal investigator's undergraduate women's college) to engage with this technology.The project includes both practical and foundational components. The Haskell type system, as implemented in the Glasgow Haskell Compiler (GHC) version 8.0, is able to simulate dependent types through the use of many language extensions. However, this use requires awkward encodings, and the extensions that support them complicate the language. In contrast, the Haskell type system envisioned by this project is based on a uniform approach to dependently typed programming that subsumes prior extensions. Part of this project involves replacing the core language of GHC with one based on dependent type theory, using relevance annotations to ensure that these extensions are backwards compatible. Furthermore, the project also introduces matchable functions, a qualifier that determines whether function applications can be analyzed via pattern matching, enabling the integration of dependent types with GHC's current type inference algorithm. Finally, this project includes an examination of the semantics of dependently typed programming languages with partiality.
期刊论文(14)
专著(0)
科研奖励(0)
会议论文
登录
查看更多内容
DOI:
10.1145/3406088.3409023
发表时间:
2020-08
期刊:
Proceedings of the 13th ACM SIGPLAN International Symposium on Haskell
影响因子:
--
作者:
[Yves Parès;Jean-Philippe Bernardy;R. Eisenberg]
通讯作者:
Yves Parès;Jean-Philippe Bernardy;R. Eisenberg
Eta-equivalence in Core Dependent Haskell
核心依赖 Haskell 中的 eta 等价
DOI:
10.4230/lipics.types.2019.7
发表时间:
2020
期刊:
Leibniz international proceedings in informatics
影响因子:
--
作者:
[Kravchuk-Kirilyuk, Anastasiya, Voizard, Antoine, Weirich, Stephanie]
通讯作者:
Weirich, Stephanie
Stitch: the sound type-indexed type checker (functional pearl)
针迹:音型索引型格子(功能性珍珠)
DOI:
10.1145/3406088.3409015
发表时间:
2020
期刊:
Haskell 2020: Proceedings of the 13th ACM SIGPLAN International Symposium on Haskell
影响因子:
--
作者:
[Eisenberg, Richard A.]
通讯作者:
Eisenberg, Richard A.
Partial type constructors: or, making ad hoc datatypes less ad hoc
部分类型构造函数:或者,使临时数据类型不那么临时
DOI:
10.1145/3371108
发表时间:
2020
期刊:
Proceedings of the ACM on Programming Languages
影响因子:
--
作者:
[Jones, Mark P., Morris, J. Garrett, Eisenberg, Richard A.]
通讯作者:
Eisenberg, Richard A.
DOI:
10.1007/978-3-030-99336-8_15
发表时间:
2022
期刊:
Lecture notes in computer science
影响因子:
--
作者:
[Choudhury, Pritam, Eades III, Harley, Weirich, Stephanie]
通讯作者:
Weirich, Stephanie
共 14 条
SHF: SMALL:Dependency Tracking and Dependent Types
-
批准号:2327738
-
项目类别:Standard Grant
-
资助金额:$54.0万
-
财政年份:2023
-
负责人:Stephanie Weirich
-
依托单位:
SHF: Small: Mechanized reasoning for functional programs
-
批准号:2006535
-
项目类别:Standard Grant
-
资助金额:$45.0万
-
财政年份:2020
-
负责人:Stephanie Weirich
-
依托单位:
STUDENT MENTORING WORKSHOP AT ICFP 2015
-
批准号:1541646
-
项目类别:Standard Grant
-
资助金额:$2.03万
-
财政年份:2015
-
负责人:Stephanie Weirich
-
依托单位:
Collaborative Research: Expeditions in Computing: The Science of Deep Specification
-
批准号:1521539
-
项目类别:Continuing Grant
-
资助金额:$335.18万
-
财政年份:2015
-
负责人:Stephanie Weirich
-
依托单位:
CIF: Small: Rich Type Inference for Functional Programming
-
批准号:1319880
-
项目类别:Standard Grant
-
资助金额:$45.0万
-
财政年份:2013
-
负责人:Stephanie Weirich
-
依托单位:
CCF-SHF Small: Beyond Algebraic Data Types: Combinatorial Species and Mathematically-Structured Programming
-
批准号:1218002
-
项目类别:Standard Grant
-
资助金额:$32.58万
-
财政年份:2012
-
负责人:Stephanie Weirich
-
依托单位:
SHF: SMALL: Dependently-typed Haskell
-
批准号:1116620
-
项目类别:Standard Grant
-
资助金额:$49.68万
-
财政年份:2011
-
负责人:Stephanie Weirich
-
依托单位:
Student Travel Support for Programming Language Mentoring Workshop (PLMW 2012)
-
批准号:1201858
-
项目类别:Standard Grant
-
资助金额:$1.59万
-
财政年份:2011
-
负责人:Stephanie Weirich
-
依托单位:
SHF:Large:Collaborative Research:TRELLYS: Community-Based Design and Implementation of a Dependently Typed Programming Language
-
批准号:0910786
-
项目类别:Standard Grant
-
资助金额:$71.0万
-
财政年份:2009
-
负责人:Stephanie Weirich
-
依托单位:
A Practical Dependently-Typed Functional Programming Language
-
批准号:0702545
-
项目类别:Continuing Grant
-
资助金额:$20.0万
-
财政年份:2007
-
负责人:Stephanie Weirich
-
依托单位:
CRI: Machine Assistance for Programming Language Research
-
批准号:0551589
-
项目类别:Continuing Grant
-
资助金额:$20.0万
-
财政年份:2006
-
负责人:Stephanie Weirich
-
依托单位:
CAREER: Type-Directed Programming in Object-Oriented Languages
-
批准号:0347289
-
项目类别:Continuing Grant
-
资助金额:$0.0万
-
财政年份:2003
-
负责人:Stephanie Weirich
-
依托单位:
海外基金