License: Creative Commons Attribution 3.0 Unported license (CC BY 3.0)
When quoting this document, please refer to the following
DOI: 10.4230/LIPIcs.ECOOP.2020.20
URN: urn:nbn:de:0030-drops-131773
URL: http://dagstuhl.sunsite.rwth-aachen.de/volltexte/2020/13177/
de Muijnck-Hughes, Jan ;
Brady, Edwin ;
Vanderbauwhede, Wim
A Framework for Resource Dependent EDSLs in a Dependently Typed Language (Pearl)
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.
BibTeX - Entry
@InProceedings{demuijnckhughes_et_al:LIPIcs:2020:13177,
author = {Jan de Muijnck-Hughes and Edwin Brady and Wim Vanderbauwhede},
title = {{A Framework for Resource Dependent EDSLs in a Dependently Typed Language (Pearl)}},
booktitle = {34th European Conference on Object-Oriented Programming (ECOOP 2020)},
pages = {20:1--20:31},
series = {Leibniz International Proceedings in Informatics (LIPIcs)},
ISBN = {978-3-95977-154-2},
ISSN = {1868-8969},
year = {2020},
volume = {166},
editor = {Robert Hirschfeld and Tobias Pape},
publisher = {Schloss Dagstuhl--Leibniz-Zentrum f{\"u}r Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/opus/volltexte/2020/13177},
URN = {urn:nbn:de:0030-drops-131773},
doi = {10.4230/LIPIcs.ECOOP.2020.20},
annote = {Keywords: Dependent Types, Algebraic Effect Handlers, Domain-Specific Languages, Embedded Domain Specific Languages, Idris, Substructural Type-Systems}
}
Keywords: |
|
Dependent Types, Algebraic Effect Handlers, Domain-Specific Languages, Embedded Domain Specific Languages, Idris, Substructural Type-Systems |
Collection: |
|
34th European Conference on Object-Oriented Programming (ECOOP 2020) |
Issue Date: |
|
2020 |
Date of publication: |
|
06.11.2020 |
Supplementary Material: |
|
ECOOP 2020 Artifact Evaluation approved artifact available at https://doi.org/10.4230/DARTS.6.2.2. |