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.
@Article{demuijnckhughes_et_al:DARTS.6.2.2, author = {de Muijnck-Hughes, Jan and Brady, Edwin and Vanderbauwhede, Wim}, title = {{A Framework for Resource Dependent EDSLs in a Dependently Typed Language (Artifact)}}, pages = {2:1--2:3}, journal = {Dagstuhl Artifacts Series}, ISSN = {2509-8195}, year = {2020}, volume = {6}, number = {2}, editor = {de Muijnck-Hughes, Jan and Brady, Edwin and Vanderbauwhede, Wim}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/DARTS.6.2.2}, URN = {urn:nbn:de:0030-drops-131995}, doi = {10.4230/DARTS.6.2.2}, annote = {Keywords: Dependent Types, Algebraic Effect Handlers, Domain-Specific Languages, Embedded Domain Specific Languages, Idris, Substructural Type-Systems} }
9a75e4a5804bee0be7edfcf152ad8f4c
(Get MD5 Sum)
Feedback for Dagstuhl Publishing