SHF: Medium: Collaborative Research: The Theory and Practice of Dependent Types in Haskell
SHF:媒介:协作研究:Haskell 中依赖类型的理论与实践
基本信息
- 批准号:1703835
- 负责人:
- 金额:$ 63.87万
- 依托单位:
- 依托单位国家:美国
- 项目类别:Continuing Grant
- 财政年份:2017
- 资助国家:美国
- 起止时间:2017-07-01 至 2022-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) 集成的洞察,以及对创建正确软件所依据的数学原理的更深入理解。该项目更广泛的意义和重要性是让技术行业首次接触到依赖类型,同时为学生(包括一位首席研究员的本科女子学院的学生)创造参与这项技术的机会。该项目包括实践和基础成分。在 Glasgow Haskell 编译器 (GHC) 8.0 版中实现的 Haskell 类型系统能够通过使用许多语言扩展来模拟依赖类型。然而,这种使用需要笨拙的编码,并且支持它们的扩展使语言变得复杂。相比之下,该项目设想的 Haskell 类型系统基于一种统一的依赖类型编程方法,其中包含了先前的扩展。该项目的一部分涉及用基于依赖类型理论的语言替换 GHC 的核心语言,并使用相关注释来确保这些扩展向后兼容。此外,该项目还引入了可匹配函数,这是一个限定符,用于确定是否可以通过模式匹配来分析函数应用程序,从而实现依赖类型与 GHC 当前类型推断算法的集成。 最后,该项目包括对具有偏向性的依赖类型编程语言的语义的检查。
项目成果
期刊论文数量(14)
专著数量(0)
科研奖励数量(0)
会议论文数量(0)
专利数量(0)
Composing effects into tasks and workflows
- DOI:10.1145/3406088.3409023
- 发表时间:2020-08
- 期刊:
- 影响因子:0
- 作者: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
- 期刊:
- 影响因子:0
- 作者:Kravchuk-Kirilyuk, Anastasiya;Voizard, Antoine;Weirich, Stephanie
- 通讯作者:Weirich, Stephanie
Stitch: the sound type-indexed type checker (functional pearl)
针迹:音型索引型格子(功能性珍珠)
- DOI:10.1145/3406088.3409015
- 发表时间:2020
- 期刊:
- 影响因子:0
- 作者: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 Dependent Dependency Calculus
依赖依赖演算
- DOI:10.1007/978-3-030-99336-8_15
- 发表时间:2022
- 期刊:
- 影响因子:0
- 作者:Choudhury, Pritam;Eades III, Harley;Weirich, Stephanie
- 通讯作者:Weirich, Stephanie
{{
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 }}
Stephanie Weirich其他文献
RepLib: a library for derivable type classes
RepLib:可派生类型类的库
- DOI:
- 发表时间:
2006 - 期刊:
- 影响因子:0
- 作者:
Stephanie Weirich - 通讯作者:
Stephanie Weirich
Combining proofs and programs in a dependently typed language
用依赖类型语言组合证明和程序
- DOI:
- 发表时间:
2014 - 期刊:
- 影响因子:0
- 作者:
Chris Casinghino;Vilhelm Sjöberg;Stephanie Weirich - 通讯作者:
Stephanie Weirich
Dependently typed programming with singletons
使用单例进行依赖类型编程
- DOI:
- 发表时间:
2013 - 期刊:
- 影响因子:0
- 作者:
R. Eisenberg;Stephanie Weirich - 通讯作者:
Stephanie Weirich
Step-Indexed Normalization for a Language with General Recursion
具有一般递归的语言的阶跃索引规范化
- DOI:
10.4204/eptcs.76.4 - 发表时间:
2012 - 期刊:
- 影响因子:0
- 作者:
Chris Casinghino;Vilhelm Sjöberg;Stephanie Weirich - 通讯作者:
Stephanie Weirich
Programming up to Congruence
编程达到一致性
- DOI:
- 发表时间:
2015 - 期刊:
- 影响因子:0
- 作者:
Vilhelm Sjöberg;Stephanie Weirich - 通讯作者:
Stephanie Weirich
Stephanie Weirich的其他文献
{{
item.title }}
{{ item.translation_title }}
- DOI:
{{ item.doi }} - 发表时间:
{{ item.publish_year }} - 期刊:
- 影响因子:{{ item.factor }}
- 作者:
{{ item.authors }} - 通讯作者:
{{ item.author }}
{{ truncateString('Stephanie Weirich', 18)}}的其他基金
SHF: SMALL:Dependency Tracking and Dependent Types
SHF:SMALL:依赖性跟踪和依赖性类型
- 批准号:
2327738 - 财政年份:2023
- 资助金额:
$ 63.87万 - 项目类别:
Standard Grant
SHF: Small: Mechanized reasoning for functional programs
SHF:小型:函数式程序的机械化推理
- 批准号:
2006535 - 财政年份:2020
- 资助金额:
$ 63.87万 - 项目类别:
Standard Grant
STUDENT MENTORING WORKSHOP AT ICFP 2015
ICFP 2015 学生辅导研讨会
- 批准号:
1541646 - 财政年份:2015
- 资助金额:
$ 63.87万 - 项目类别:
Standard Grant
Collaborative Research: Expeditions in Computing: The Science of Deep Specification
合作研究:计算探索:深度规范的科学
- 批准号:
1521539 - 财政年份:2015
- 资助金额:
$ 63.87万 - 项目类别:
Continuing Grant
CIF: Small: Rich Type Inference for Functional Programming
CIF:小型:函数式编程的丰富类型推理
- 批准号:
1319880 - 财政年份:2013
- 资助金额:
$ 63.87万 - 项目类别:
Standard Grant
CCF-SHF Small: Beyond Algebraic Data Types: Combinatorial Species and Mathematically-Structured Programming
CCF-SHF Small:超越代数数据类型:组合种类和数学结构规划
- 批准号:
1218002 - 财政年份:2012
- 资助金额:
$ 63.87万 - 项目类别:
Standard Grant
SHF: SMALL: Dependently-typed Haskell
SHF:小:依赖类型的 Haskell
- 批准号:
1116620 - 财政年份:2011
- 资助金额:
$ 63.87万 - 项目类别:
Standard Grant
Student Travel Support for Programming Language Mentoring Workshop (PLMW 2012)
编程语言指导研讨会的学生旅行支持(PLMW 2012)
- 批准号:
1201858 - 财政年份:2011
- 资助金额:
$ 63.87万 - 项目类别:
Standard Grant
SHF:Large:Collaborative Research:TRELLYS: Community-Based Design and Implementation of a Dependently Typed Programming Language
SHF:大型:协作研究:TRELLYS:基于社区的依赖类型编程语言的设计和实现
- 批准号:
0910786 - 财政年份:2009
- 资助金额:
$ 63.87万 - 项目类别:
Standard Grant
A Practical Dependently-Typed Functional Programming Language
一种实用的依赖类型函数编程语言
- 批准号:
0702545 - 财政年份:2007
- 资助金额:
$ 63.87万 - 项目类别:
Continuing Grant
相似国自然基金
复合低维拓扑材料中等离激元增强光学响应的研究
- 批准号:12374288
- 批准年份:2023
- 资助金额:52 万元
- 项目类别:面上项目
中等垂直风切变下非对称型热带气旋快速增强的物理机制研究
- 批准号:42305004
- 批准年份:2023
- 资助金额:30 万元
- 项目类别:青年科学基金项目
基于挥发性分布和氧化校正的大气半/中等挥发性有机物来源解析方法构建
- 批准号:42377095
- 批准年份:2023
- 资助金额:49 万元
- 项目类别:面上项目
基于机器学习和经典电动力学研究中等尺寸金属纳米粒子的量子表面等离激元
- 批准号:22373002
- 批准年份:2023
- 资助金额:50 万元
- 项目类别:面上项目
托卡马克偏滤器中等离子体的多尺度算法与数值模拟研究
- 批准号:12371432
- 批准年份:2023
- 资助金额:43.5 万元
- 项目类别:面上项目
相似海外基金
Collaborative Research: SHF: Medium: Differentiable Hardware Synthesis
合作研究:SHF:媒介:可微分硬件合成
- 批准号:
2403134 - 财政年份:2024
- 资助金额:
$ 63.87万 - 项目类别:
Standard Grant
Collaborative Research: SHF: Medium: Enabling Graphics Processing Unit Performance Simulation for Large-Scale Workloads with Lightweight Simulation Methods
合作研究:SHF:中:通过轻量级仿真方法实现大规模工作负载的图形处理单元性能仿真
- 批准号:
2402804 - 财政年份:2024
- 资助金额:
$ 63.87万 - 项目类别:
Standard Grant
Collaborative Research: SHF: Medium: Tiny Chiplets for Big AI: A Reconfigurable-On-Package System
合作研究:SHF:中:用于大人工智能的微型芯片:可重新配置的封装系统
- 批准号:
2403408 - 财政年份:2024
- 资助金额:
$ 63.87万 - 项目类别:
Standard Grant
Collaborative Research: SHF: Medium: Toward Understandability and Interpretability for Neural Language Models of Source Code
合作研究:SHF:媒介:实现源代码神经语言模型的可理解性和可解释性
- 批准号:
2423813 - 财政年份:2024
- 资助金额:
$ 63.87万 - 项目类别:
Standard Grant
Collaborative Research: SHF: Medium: Enabling GPU Performance Simulation for Large-Scale Workloads with Lightweight Simulation Methods
合作研究:SHF:中:通过轻量级仿真方法实现大规模工作负载的 GPU 性能仿真
- 批准号:
2402806 - 财政年份:2024
- 资助金额:
$ 63.87万 - 项目类别:
Standard Grant