Type-Directed Elaboration of Quasiquotations: A High-Level Syntax for Low-Level Reflection

David Raymond Christiansen

    Publikation: Konference artikel i Proceeding eller bog/rapport kapitelKonferencebidrag i proceedingsForskningpeer review

    Abstract

    Idris's reflection features allow Idris metaprograms to manipulate a representation of Idris's core language as a datatype, but these reflected terms were designed for ease of type checking and are therefore exceedingly verbose and tedious to work with. A simpler notation would make these programs both easier to read and easier to write. We describe a variation of quasiquotation that uses the language's compiler to translate high-level programs with holes into their corresponding reflected representation, both in pattern-matching and expression contexts. This provides a notation for reflected language that matches the notation used to write programs, allowing readable metaprograms.
    OriginalsprogEngelsk
    TitelPreproceedings of the 26nd Symposium on Implementation and Application of Functional Languages (IFL 2014)
    RedaktørerSam Tobin-Hochstadt
    Antal sider9
    ForlagAssociation for Computing Machinery
    Publikationsdato2014
    ISBN (Trykt)978-1-4503-3284-2
    DOI
    StatusUdgivet - 2014
    Begivenhed26nd Symposium on Implementation and Application of Functional Languages - Northeastern Universit, Boston, MA, USA
    Varighed: 1 okt. 20143 okt. 2014
    http://www.wikicfp.com/cfp/servlet/event.showcfp?eventid=39053&copyownerid=48563

    Konference

    Konference26nd Symposium on Implementation and Application of Functional Languages
    LokationNortheastern Universit
    Land/OmrådeUSA
    ByBoston, MA
    Periode01/10/201403/10/2014
    Internetadresse

    Emneord

    • Quasiquotation
    • Proof automation
    • Metaprogramming

    Fingeraftryk

    Dyk ned i forskningsemnerne om 'Type-Directed Elaboration of Quasiquotations: A High-Level Syntax for Low-Level Reflection'. Sammen danner de et unikt fingeraftryk.

    Citationsformater