Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3678000.3678203acmconferencesArticle/Chapter ViewAbstractPublication PagesicfpConference Proceedingsconference-collections
research-article

Normalizable Types

Published: 28 August 2024 Publication History

Abstract

In dependently typed programming languages, quotients can be introduced in two different ways: elements of each equivalence class can be made either propositionally equal, at the cost of having to manipulate those equality proofs, or definitionally equal, at the cost of requiring a normalization function. The convenience of definitional equality could make the requirement of a normalization function tolerable, if it were not for the fact that those quotients need to be normalized every time we look at them. In the context of proof assistants, this is sometimes acceptable since efficiency of the code is not always relevant, but for a programming language it means these kinds of quotient types (sometimes called normalized types) are usable only with normalization functions which are cheap, and in the end they do not offer very many benefits over the use of smart constructors which eagerly normalize their return value. We propose an adjustment to normalized types that allows manipulating values of such types without having to normalize them, thus offering much finer control over the code’s efficiency, as well as making those quotient types usable even when normalization functions are too costly or impractical at runtime.

References

[1]
Henk P. Barendregt. 1991. Introduction to generalized type systems. Journal of Functional Programming, 1, 2 (1991), April, 121–154. https://doi.org/10.1017/S0956796800020025
[2]
Cyril Cohen. 2013. Pragmatic Quotient Types in Coq. In Interactive Theorem Proving. 213–228. https://doi.org/10.1007/978-3-642-39634-2_17
[3]
Robert L. Constable and Douglas J. Howe. 1989. Nuprl as a General Logic. Cornell University. https://hdl.handle.net/1813/6821 The PDF only has every other page. Apparently also published in LICS’90, but can’t find it
[4]
Pierre Courtieu. 2001. Normalized Types. In Computer Science Logic. 554–569.
[5]
Martin Hofmann. 1994. Elimination of extensionality in Martin-Lo¨f type theory. In Types for Proofs and Programs. 166–190. https://doi.org/10.1007/3-540-58085-9_76
[6]
The Univalent Foundations Program. 2013. Homotopy Type Theory: Univalent Foundations of Mathematics. Institute for Advanced Study. arxiv:1308.0729
[7]
Simon Thompson. 1990. Lawful functions and program verification in Miranda. Science of Computer Programming, 13, 2-3 (1990), 181–218.
[8]
D.A. Turner. 1985. Miranda: a non-strict functional language with polymorphic types. In International Conference on Functional Programming Languages and Computer Architecture. 1–16.
[9]
Théo Winterhalter, Matthieu Sozeau, and Nicolas Tabareau. 2019. Eliminating Reflection from Type Theory. In CPP 2019 - 8th ACM SIGPLAN International Conference on Certified Programs and Proofs. ACM, Lisbonne, Portugal. 91–103. https://doi.org/10.1145/3293880.3294095

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
TyDe 2024: Proceedings of the 9th ACM SIGPLAN International Workshop on Type-Driven Development
August 2024
73 pages
ISBN:9798400711039
DOI:10.1145/3678000
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 28 August 2024

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Dependent types
  2. Functional Languages
  3. Type Theory
  4. {Quotient types

Qualifiers

  • Research-article

Conference

TyDe '24
Sponsor:

Upcoming Conference

ICFP '25
ACM SIGPLAN International Conference on Functional Programming
October 12 - 18, 2025
Singapore , Singapore

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 56
    Total Downloads
  • Downloads (Last 12 months)56
  • Downloads (Last 6 weeks)51
Reflects downloads up to 15 Oct 2024

Other Metrics

Citations

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media