Abstract
Idris’ Effects library demonstrates how to embed resource dependent algebraic effect handlers into a dependently typed host language, providing run-time and compile-time based reasoning on type-level resources. Building upon this work, Resources is a framework for realising Embedded Domain Specific Languages (EDSLs) with type systems that contain domain specific substructural properties. Differing from Effects, Resources allows a language’s substructural properties to be encoded within type-level resources that are associated with language variables. Such an association allows for multiple effect instances to be reasoned about autonomically and without explicit type-level declaration. Type-level predicates are used as proof that the language’s substructural properties hold. Several exemplar EDSLs are presented that illustrates our framework’s operation and how dependent types provide correctness-by-construction guarantees that substructural properties of written programs hold.
| Original language | English |
|---|---|
| Title of host publication | 34th European Conference on Object-Oriented Programming, ECOOP 2020 |
| Editors | Robert Hirschfeld, Tobias Pape |
| Publisher | Schloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing |
| Number of pages | 31 |
| Volume | 166 |
| ISBN (Electronic) | 9783959771542 |
| DOIs | |
| Publication status | Published - 6 Nov 2020 |
| Event | 34th European Conference on Object-Oriented Programming, ECOOP 2020 - Virtual, Berlin, Germany Duration: 15 Nov 2020 → 17 Nov 2020 |
Publication series
| Name | Leibniz International Proceedings in Informatics, LIPIcs |
|---|---|
| Volume | 166 |
| ISSN (Print) | 1868-8969 |
Conference
| Conference | 34th European Conference on Object-Oriented Programming, ECOOP 2020 |
|---|---|
| Country/Territory | Germany |
| City | Virtual, Berlin |
| Period | 15/11/20 → 17/11/20 |
Funding
Funding This work was funded by EPSRC projects: Border Patrol: Improving Smart Device Security through Type-Aware Systems Design (EP/N028201/1); and Type-Driven Verification of Communicating Systems – EP/N024222/1.
Keywords
- algebraic effect handlers
- dependent types
- domain-specific languages
- embedded domain specific languages
- Idris
- substructural type-systems