SHF: MEDIUM: Collaborative Research: The Theory and Practice of Dependent Types in Haskell

Information

  • NSF Award
  • 1704041
Owner
  • Award Id
    1704041
  • Award Effective Date
    7/1/2017 - 7 years ago
  • Award Expiration Date
    6/30/2021 - 3 years ago
  • Award Amount
    $ 311,303.00
  • Award Instrument
    Continuing grant

SHF: MEDIUM: Collaborative Research: The Theory and Practice of Dependent Types in Haskell

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.<br/><br/>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.

  • Program Officer
    Anindya Banerjee
  • Min Amd Letter Date
    5/15/2017 - 7 years ago
  • Max Amd Letter Date
    9/19/2017 - 7 years ago
  • ARRA Amount

Institutions

  • Name
    Bryn Mawr College
  • City
    Bryn Mawr
  • State
    PA
  • Country
    United States
  • Address
    101 N. Merion Avenue
  • Postal Code
    190102899
  • Phone Number
    6105265298

Investigators

  • First Name
    Richard
  • Last Name
    Eisenberg
  • Email Address
    rae@cs.brynmawr.edu
  • Start Date
    5/15/2017 12:00:00 AM

Program Element

  • Text
    SOFTWARE & HARDWARE FOUNDATION
  • Code
    7798

Program Reference

  • Text
    MEDIUM PROJECT
  • Code
    7924
  • Text
    PROGRAMMING LANGUAGES
  • Code
    7943