Show simple item record

Authordc.contributor.authorEremondi, Joseph
Authordc.contributor.authorGarcía, Ronald
Authordc.contributor.authorTanter, Eric Pierre
Admission datedc.date.accessioned2022-12-21T20:01:22Z
Available datedc.date.available2022-12-21T20:01:22Z
Publication datedc.date.issued2022
Cita de ítemdc.identifier.citationProc. ACM Program. Lang., (2022) 6, No. ICFP, Article 96.es_ES
Identifierdc.identifier.other10.1145/3547627
Identifierdc.identifier.urihttps://repositorio.uchile.cl/handle/2250/189933
Abstractdc.description.abstractGradual dependent types can help with the incremental adoption of dependently typed code by providing a principled semantics for imprecise types and proofs, where some parts have been omitted. Current theories of gradual dependent types, though, lack a central feature of type theory: propositional equality. Lennon-Bertrand et al. show that, when the reflexive proof refl is the only closed value of an equality type, a gradual extension of the Calculus of Inductive Constructions (CIC) with propositional equality violates static observational equivalences. Extensionally-equal functions should be indistinguishable at run time, but they can be distinguished using a combination of equality and type imprecision. This work presents a gradual dependently typed language that supports propositional equality. We avoid the above issues by devising an equality type of which refl is not the only closed inhabitant. Instead, each equality proof is accompanied by a term that is at least as precise as the equated terms, acting as a witness of their plausible equality. These witnesses track partial type information as a program runs, raising errors when that information shows that two equated terms are undeniably inconsistent. Composition of type information is internalized as a construct of the language, and is deferred for function bodies whose evaluation is blocked by variables. We thus ensure that extensionally-equal functions compose without error, thereby preventing contexts from distinguishing them. We describe the challenges of designing consistency and precision relations for this system, along with solutions to these challenges. Finally, we prove important metatheory: type safety, conservative embedding of CIC, weak canonicity, and the gradual guarantees of Siek et al., which ensure that reducing a program's precision introduces no new static or dynamic errors.es_ES
Lenguagedc.language.isoenes_ES
Publisherdc.publisherACMes_ES
Type of licensedc.rightsAttribution-NonCommercial-NoDerivs 3.0 United States*
Link to Licensedc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/3.0/us/*
Sourcedc.sourceProceedings of the ACM on Programming Languages-PACMPLes_ES
Keywordsdc.subjectDependent typeses_ES
Keywordsdc.subjectGradual typeses_ES
Keywordsdc.subjectPropositional equalityes_ES
Títulodc.titlePropositional equality for gradual dependently typed programminges_ES
Document typedc.typeArtículo de revistaes_ES
dc.description.versiondc.description.versionVersión publicada - versión final del editores_ES
dcterms.accessRightsdcterms.accessRightsAcceso abiertoes_ES
Catalogueruchile.catalogadorapces_ES
Indexationuchile.indexArtículo de publícación WoSes_ES


Files in this item

Icon

This item appears in the following Collection(s)

Show simple item record

Attribution-NonCommercial-NoDerivs 3.0 United States
Except where otherwise noted, this item's license is described as Attribution-NonCommercial-NoDerivs 3.0 United States