Show simple item record

Files in this item

Thumbnail

Item metadata

dc.contributor.authorTejiščák, Matúš
dc.date.accessioned2020-12-23T15:30:07Z
dc.date.available2020-12-23T15:30:07Z
dc.date.issued2020-08-02
dc.identifier271054137
dc.identifierfefec426-fa30-4c55-a7d5-7dab627ccd88
dc.identifier85090276560
dc.identifier000685203700005
dc.identifier.citationTejiščák , M 2020 , ' A dependently typed calculus with pattern matching and erasure inference ' , Proceedings of the ACM on Programming Languages , vol. 4 , 91 , pp. 1-29 . https://doi.org/10.1145/3408973en
dc.identifier.issn2475-1421
dc.identifier.othercrossref: 10.1145/3408973
dc.identifier.urihttps://hdl.handle.net/10023/21191
dc.description.abstractSome parts of dependently typed programs constitute evidence of their type-correctness and, once checked, are unnecessary for execution. These parts can easily become asymptotically larger than the remaining runtime-useful computation, which can cause normally linear-time programs run in exponential time, or worse. We should not make programs run slower by just describing them more precisely. Current dependently typed systems do not erase such computation satisfactorily. By modelling erasure indirectly through type universes or irrelevance, they impose the limitations of these means to erasure. Some useless computation then cannot be erased and idiomatic programs remain asymptotically sub-optimal. In this paper, we explain why we need erasure, that it is different from other concepts like irrelevance, and propose a dependently typed calculus with pattern matching with erasure annotations to model it. We show that erasure in well-typed programs is sound in that it commutes with reduction. Assuming the Church-Rosser property, erasure furthermore preserves convertibility in general. We also give an erasure inference algorithm for erasure-unannotated or partially annotated programs and prove it sound, complete, and optimal with respect to the typing rules of the calculus. Finally, we show that this erasure method is effective in that it can not only recover the expected asymptotic complexity in compiled programs at run time, but it can also shorten compilation times.
dc.format.extent29
dc.format.extent469085
dc.language.isoeng
dc.relation.ispartofProceedings of the ACM on Programming Languagesen
dc.subjectQA75 Electronic computers. Computer scienceen
dc.subjectT-NDASen
dc.subject.lccQA75en
dc.titleA dependently typed calculus with pattern matching and erasure inferenceen
dc.typeJournal articleen
dc.contributor.institutionUniversity of St Andrews. University of St Andrewsen
dc.contributor.institutionUniversity of St Andrews. School of Computer Scienceen
dc.identifier.doihttps://doi.org/10.1145/3408973
dc.description.statusPeer revieweden


This item appears in the following Collection(s)

Show simple item record