Show simple item record

Files in this item

Thumbnail

Item metadata

dc.contributor.authorBrady, Edwin Charles
dc.contributor.editorMøller, Anders
dc.contributor.editorSridharan, Manu
dc.date.accessioned2021-07-14T14:30:14Z
dc.date.available2021-07-14T14:30:14Z
dc.date.issued2021-07-06
dc.identifier274212629
dc.identifier07daeee4-0629-4afb-aadb-7da20f1ba416
dc.identifier85115247995
dc.identifier.citationBrady , E C 2021 , Idris 2 : Quantitative Type Theory in practice . in A Møller & M Sridharan (eds) , 35th European Conference on Object-Oriented Programming (ECOOP 2021) . , 11 , Leibniz International Proceedings in Informatics , Schloss Dagstuhl - Leibniz-Zentrum für Informatik GmbH , 35th European Conference on Object-Oriented Programming (ECOOP 2021) , Aarhus , Denmark , 11/07/21 . https://doi.org/10.4230/LIPIcs.ECOOP.2021.9en
dc.identifier.citationconferenceen
dc.identifier.isbn9783959771900
dc.identifier.issn1868-8969
dc.identifier.otherORCID: /0000-0002-9734-367X/work/96817225
dc.identifier.urihttps://hdl.handle.net/10023/23560
dc.descriptionFunding: This work was funded by EPSRC grant EP/T007265/1.en
dc.description.abstractDependent types allow us to express precisely what a function is intended to do. Recent work on Quantitative Type Theory (QTT) extends dependent type systems with linearity, also allowing precision in expressing when a function can run. This is promising, because it suggests the ability to design and reason about resource usage protocols, such as we might find in distributed and concurrent programming, where the state of a communication channel changes throughout program execution. As yet, however, there has not been a full-scale programming language with which to experiment with these ideas. Idris 2 is a new version of the dependently typed language Idris, with a new core language based on QTT, supporting linear and dependent types. In this paper, we introduce Idris 2, and describe how QTT has influenced its design. We give examples of the benefits of QTT in practice including: expressing which data is erased at run time, at the type level; and, resource tracking in the type system leading to type-safe concurrent programming with session types.
dc.format.extent26
dc.format.extent939467
dc.language.isoeng
dc.publisherSchloss Dagstuhl - Leibniz-Zentrum für Informatik GmbH
dc.relation.ispartof35th European Conference on Object-Oriented Programming (ECOOP 2021)en
dc.relation.ispartofseriesLeibniz International Proceedings in Informaticsen
dc.subjectDependent typesen
dc.subjectLinear typesen
dc.subjectConcurrencyen
dc.subjectQA75 Electronic computers. Computer scienceen
dc.subjectT-NDASen
dc.subject.lccQA75en
dc.titleIdris 2 : Quantitative Type Theory in practiceen
dc.typeConference itemen
dc.contributor.institutionUniversity of St Andrews. School of Computer Scienceen
dc.contributor.institutionUniversity of St Andrews. Centre for Interdisciplinary Research in Computational Algebraen
dc.identifier.doi10.4230/LIPIcs.ECOOP.2021.9


This item appears in the following Collection(s)

Show simple item record