St Andrews Research Repository

St Andrews University Home
View Item 
  •   St Andrews Research Repository
  • University of St Andrews Research
  • University of St Andrews Research
  • University of St Andrews Research
  • View Item
  •   St Andrews Research Repository
  • University of St Andrews Research
  • University of St Andrews Research
  • University of St Andrews Research
  • View Item
  •   St Andrews Research Repository
  • University of St Andrews Research
  • University of St Andrews Research
  • University of St Andrews Research
  • View Item
  • Login
JavaScript is disabled for your browser. Some features of this site may not work without it.

Elaborator reflection : extending Idris in Idris

Thumbnail
View/Open
elab_reflection_paper.pdf (279.4Kb)
Date
04/09/2016
Author
Christiansen, David
Brady, Edwin Charles
Keywords
Metaprogramming
Dependent types
Elaboration
QA75 Electronic computers. Computer science
QA76 Computer software
NDAS
BDC
R2C
Metadata
Show full item record
Abstract
Many programming languages and proof assistants are defined by elaboration from a high-level language with a great deal of implicit information to a highly explicit core language. In many advanced languages, these elaboration facilities contain powerful tools for program construction, but these tools are rarely designed to be repurposed by users. We describe elaborator reflection, a paradigm for metaprogramming in which the elaboration machinery is made directly available to metaprograms, as well as a concrete realization of elaborator reflection in Idris, a functional language with full dependent types. We demonstrate the applicability of Idris’s reflected elaboration framework to a number of realistic problems, we discuss the motivation for the specific features of its design, and we explore the broader meaning of elaborator reflection as it can relate to other languages.
Citation
Christiansen , D & Brady , E C 2016 , Elaborator reflection : extending Idris in Idris . in Proceedings of the 21st ACM SIGPLAN International Conference on Functional Programming (ICFP 2016) . ACM SIGPLAN Notices , no. 9 , vol. 51 , ACM , New York , pp. 284-297 , ICFP 2016 - 21st ACM SIGPLAN International Conference on Functional Programming , Nara , Japan , 18/09/16 . https://doi.org/10.1145/2951913.2951932
 
conference
 
Publication
Proceedings of the 21st ACM SIGPLAN International Conference on Functional Programming (ICFP 2016)
DOI
https://doi.org/10.1145/2951913.2951932
ISSN
0362-1340
Type
Conference item
Rights
Copyright © 2016, the Author(s). This work is made available online in accordance with the publisher’s policies. This is the author created, accepted version manuscript following peer review and may differ slightly from the final published version. The final published version of this work is available at https://doi.org/10.1145/2951913
Collections
  • University of St Andrews Research
URI
http://hdl.handle.net/10023/9522

Items in the St Andrews Research Repository are protected by copyright, with all rights reserved, unless otherwise indicated.

Advanced Search

Browse

All of RepositoryCommunities & CollectionsBy Issue DateNamesTitlesSubjectsClassificationTypeFunderThis CollectionBy Issue DateNamesTitlesSubjectsClassificationTypeFunder

My Account

Login

Open Access

To find out how you can benefit from open access to research, see our library web pages and Open Access blog. For open access help contact: openaccess@st-andrews.ac.uk.

Accessibility

Read our Accessibility statement.

How to submit research papers

The full text of research papers can be submitted to the repository via Pure, the University's research information system. For help see our guide: How to deposit in Pure.

Electronic thesis deposit

Help with deposit.

Repository help

For repository help contact: Digital-Repository@st-andrews.ac.uk.

Give Feedback

Cookie policy

This site may use cookies. Please see Terms and Conditions.

Usage statistics

COUNTER-compliant statistics on downloads from the repository are available from the IRUS-UK Service. Contact us for information.

© University of St Andrews Library

University of St Andrews is a charity registered in Scotland, No SC013532.

  • Facebook
  • Twitter