2024-12-24 11:00: Our storage is full. Uploading files will be possible again from December 28, 2024.

Code underlying the publication: ExEl: Building an Elaborator Using Extensible Constraints

doi:10.4121/e74fd14a-da79-4686-97e8-143ac5e0858d.v1
The doi above is for this specific version of this dataset, which is currently the latest. Newer versions may be published in the future. For a link that will always point to the latest version, please use
doi: 10.4121/e74fd14a-da79-4686-97e8-143ac5e0858d
Datacite citation style:
Liesnikov, Bohdan; Cockx, Jesper (2024): Code underlying the publication: ExEl: Building an Elaborator Using Extensible Constraints. Version 1. 4TU.ResearchData. software. https://doi.org/10.4121/e74fd14a-da79-4686-97e8-143ac5e0858d.v1
Other citation styles (APA, Harvard, MLA, Vancouver, Chicago, IEEE) available at Datacite
Software

This repository contains source code for the paper, slides, extended abstract and a demo implementation for the ExEl paper. This research is addressing some of the common problems in the implementations of dependently typed languages. In particular we present a modular architecture for implementing the transformation from user-friendly surface syntax into a small and well-behaved core language, also known as elaboration. Our architecture is made modular through the use of an open datatype of constraints and a plugin system for solvers that work on these constraints, which means that each new feature is contained in its own module. The implementation was developed by the authors of the paper in through 2022 and 2023.

history
  • 2024-03-21 first online, published, posted
publisher
4TU.ResearchData
format
Haskell project, built using nix and cabal
associated peer-reviewed publication
ExEl: Building an Elaborator Using Extensible Constraints
organizations
TU Delft, Faculty of Electrical Engineering, Mathematics and Computer Science, Department of Software Technology

DATA

To access the source code, use the following command:

git clone https://data.4tu.nl/v3/datasets/2e75d19a-7ef8-445b-88d5-ea763cc2488e.git

Or download the latest commit as a ZIP.