SHF: MEDIUM: Collaborative Research: The Theory and Practice of Dependent Types in Haskell
SHF:中:协作研究:Haskell 中依赖类型的理论与实践
基本信息
- 批准号:1704041
- 负责人:
- 金额:$ 31.13万
- 依托单位:
- 依托单位国家:美国
- 项目类别:Continuing Grant
- 财政年份:2017
- 资助国家:美国
- 起止时间:2017-07-01 至 2021-06-30
- 项目状态:已结题
- 来源:
- 关键词:
项目摘要
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.
这个项目的首要目标是通过扩展Haskell编程语言来支持依赖类型,从而防止软件中的错误。Haskell被工业界的研究人员和程序员用来构建各种软件系统,如财务分析工具、交互式网站、数据可视化和自动驾驶汽车软件。依赖类型是一种新兴的技术,它允许程序员避免软件中的错误,允许他们在代码中包含正确性的数学证明。这些证据会在软件运行之前进行检查,排除失败的可能性,例如网站崩溃。智力上的优点是深入了解先进的数学理论与工业实力的开发工具(Haskell)的整合,以及对创建正确软件所依据的数学原理的更深入理解。该项目的更广泛的意义和重要性是让技术行业第一次接触到依赖类型,同时为学生(包括一位主要研究者的本科女子学院的学生)创造机会参与这项技术。在格拉斯哥Haskell编译器(GHC)8.0版中实现的Haskell类型系统能够通过使用许多语言扩展来模拟依赖类型。然而,这种使用需要笨拙的编码,并且支持它们的扩展使语言复杂化。相比之下,这个项目所设想的Haskell类型系统是基于一种统一的依赖类型编程方法,它包含了以前的扩展。这个项目的一部分涉及用一种基于依赖类型理论的语言替换GHC的核心语言,使用相关性注释来确保这些扩展是向后兼容的。此外,该项目还引入了可匹配函数,这是一个限定符,用于确定函数应用程序是否可以通过模式匹配进行分析,从而将依赖类型与GHC当前的类型推理算法集成在一起。 最后,这个项目包括一个检查的语义依赖类型的编程语言与语法。
项目成果
期刊论文数量(8)
专著数量(0)
科研奖励数量(0)
会议论文数量(0)
专利数量(0)
Seeking stability by being lazy and shallow: lazy and shallow instantiation is user friendly
通过懒惰和浅薄来寻求稳定:懒惰和浅薄的实例化是用户友好的
- DOI:10.1145/3471874.3472985
- 发表时间:2021
- 期刊:
- 影响因子:0
- 作者:Bottu, Gert-Jan;Eisenberg, Richard A.
- 通讯作者:Eisenberg, Richard A.
Partial type constructors: or, making ad hoc datatypes less ad hoc
部分类型构造函数:或者,使临时数据类型不那么临时
- DOI:10.1145/3371108
- 发表时间:2020
- 期刊:
- 影响因子:0
- 作者:Jones, Mark P.;Morris, J. Garrett;Eisenberg, Richard A.
- 通讯作者:Eisenberg, Richard A.
A role for dependent types in Haskell
Haskell 中依赖类型的角色
- DOI:10.1145/3341705
- 发表时间:2019
- 期刊:
- 影响因子:0
- 作者:Weirich, Stephanie;Choudhury, Pritam;Voizard, Antoine;Eisenberg, Richard A.
- 通讯作者:Eisenberg, Richard A.
Type variables in patterns
在模式中键入变量
- DOI:10.1145/3242744.3242753
- 发表时间:2018
- 期刊:
- 影响因子:0
- 作者:Eisenberg, Richard A.;Breitner, Joachim;Peyton Jones, Simon
- 通讯作者:Peyton Jones, Simon
Kind inference for datatypes
数据类型的类推论
- DOI:10.1145/3371121
- 发表时间:2020
- 期刊:
- 影响因子:0
- 作者:Xie, Ningning;Eisenberg, Richard A.;Oliveira, Bruno C.
- 通讯作者:Oliveira, Bruno C.
{{
item.title }}
{{ item.translation_title }}
- DOI:
{{ item.doi }} - 发表时间:
{{ item.publish_year }} - 期刊:
- 影响因子:{{ item.factor }}
- 作者:
{{ item.authors }} - 通讯作者:
{{ item.author }}
数据更新时间:{{ journalArticles.updateTime }}
{{ item.title }}
- 作者:
{{ item.author }}
数据更新时间:{{ monograph.updateTime }}
{{ item.title }}
- 作者:
{{ item.author }}
数据更新时间:{{ sciAawards.updateTime }}
{{ item.title }}
- 作者:
{{ item.author }}
数据更新时间:{{ conferencePapers.updateTime }}
{{ item.title }}
- 作者:
{{ item.author }}
数据更新时间:{{ patent.updateTime }}
Christian Murphy其他文献
Community Engagement with Free and Open Source Software
使用免费开源软件进行社区参与
- DOI:
10.1145/3017680.3017682 - 发表时间:
2017 - 期刊:
- 影响因子:0
- 作者:
Christian Murphy;K. Buffardi;J. Dehlinger;Lynn Lambert;N. Veilleux - 通讯作者:
N. Veilleux
Backstop: a tool for debugging runtime errors
Backstop:调试运行时错误的工具
- DOI:
- 发表时间:
2008 - 期刊:
- 影响因子:0
- 作者:
Christian Murphy;Eunhee Kim;G. Kaiser;Adam Cannon - 通讯作者:
Adam Cannon
Parameterizing random test data according to equivalence classes
根据等价类参数化随机测试数据
- DOI:
10.1145/1292414.1292425 - 发表时间:
2007 - 期刊:
- 影响因子:0
- 作者:
Christian Murphy;G. Kaiser;Marta Arias - 通讯作者:
Marta Arias
Improving the Dependability of Machine Learning Applications
提高机器学习应用程序的可靠性
- DOI:
- 发表时间:
2008 - 期刊:
- 影响因子:0
- 作者:
Christian Murphy;G. Kaiser - 通讯作者:
G. Kaiser
Quality Assurance of Software Applications Using the In Vivo Testing Approach
使用体内测试方法保证软件应用程序的质量
- DOI:
10.1109/icst.2009.18 - 发表时间:
2009 - 期刊:
- 影响因子:0
- 作者:
Christian Murphy;G. Kaiser;Ian Vo;Matt Chu - 通讯作者:
Matt Chu
Christian Murphy的其他文献
{{
item.title }}
{{ item.translation_title }}
- DOI:
{{ item.doi }} - 发表时间:
{{ item.publish_year }} - 期刊:
- 影响因子:{{ item.factor }}
- 作者:
{{ item.authors }} - 通讯作者:
{{ item.author }}
相似海外基金
Collaborative Research: SHF: Medium: Differentiable Hardware Synthesis
合作研究:SHF:媒介:可微分硬件合成
- 批准号:
2403134 - 财政年份:2024
- 资助金额:
$ 31.13万 - 项目类别:
Standard Grant
Collaborative Research: SHF: Medium: Enabling Graphics Processing Unit Performance Simulation for Large-Scale Workloads with Lightweight Simulation Methods
合作研究:SHF:中:通过轻量级仿真方法实现大规模工作负载的图形处理单元性能仿真
- 批准号:
2402804 - 财政年份:2024
- 资助金额:
$ 31.13万 - 项目类别:
Standard Grant
Collaborative Research: SHF: Medium: Tiny Chiplets for Big AI: A Reconfigurable-On-Package System
合作研究:SHF:中:用于大人工智能的微型芯片:可重新配置的封装系统
- 批准号:
2403408 - 财政年份:2024
- 资助金额:
$ 31.13万 - 项目类别:
Standard Grant
Collaborative Research: SHF: Medium: Toward Understandability and Interpretability for Neural Language Models of Source Code
合作研究:SHF:媒介:实现源代码神经语言模型的可理解性和可解释性
- 批准号:
2423813 - 财政年份:2024
- 资助金额:
$ 31.13万 - 项目类别:
Standard Grant
Collaborative Research: SHF: Medium: Enabling GPU Performance Simulation for Large-Scale Workloads with Lightweight Simulation Methods
合作研究:SHF:中:通过轻量级仿真方法实现大规模工作负载的 GPU 性能仿真
- 批准号:
2402806 - 财政年份:2024
- 资助金额:
$ 31.13万 - 项目类别:
Standard Grant
Collaborative Research: SHF: Medium: Differentiable Hardware Synthesis
合作研究:SHF:媒介:可微分硬件合成
- 批准号:
2403135 - 财政年份:2024
- 资助金额:
$ 31.13万 - 项目类别:
Standard Grant
Collaborative Research: SHF: Medium: Tiny Chiplets for Big AI: A Reconfigurable-On-Package System
合作研究:SHF:中:用于大人工智能的微型芯片:可重新配置的封装系统
- 批准号:
2403409 - 财政年份:2024
- 资助金额:
$ 31.13万 - 项目类别:
Standard Grant
Collaborative Research: SHF: Medium: Enabling GPU Performance Simulation for Large-Scale Workloads with Lightweight Simulation Methods
合作研究:SHF:中:通过轻量级仿真方法实现大规模工作负载的 GPU 性能仿真
- 批准号:
2402805 - 财政年份:2024
- 资助金额:
$ 31.13万 - 项目类别:
Standard Grant
Collaborative Research: SHF: Medium: High-Performance, Verified Accelerator Programming
合作研究:SHF:中:高性能、经过验证的加速器编程
- 批准号:
2313024 - 财政年份:2023
- 资助金额:
$ 31.13万 - 项目类别:
Standard Grant
Collaborative Research: SHF: Medium: Verifying Deep Neural Networks with Spintronic Probabilistic Computers
合作研究:SHF:中:使用自旋电子概率计算机验证深度神经网络
- 批准号:
2311295 - 财政年份:2023
- 资助金额:
$ 31.13万 - 项目类别:
Continuing Grant














{{item.name}}会员




