Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.5555/1792878.1792887guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Practical programming with higher-order encodings and dependent types

Published: 29 March 2008 Publication History

Abstract

Higher-order abstract syntax (HOAS) refers to the technique of representing variables of an object-language using variables of a meta-language. The standard first-order alternatives force the programmer to deal with superficial concerns such as substitutions, whose implementation is often routine, tedious, and error-prone. In this paper, we describe the underlying calculus of Delphin. Delphin is a fully implemented functional-programming language supporting reasoning over higher-order encodings and dependent types, while maintaining the benefits of HOAS. More specifically, just as representations utilizing HOAS free the programmer from concerns of handling explicit contexts and substitutions, our system permits programming over such encodings without making these constructs explicit, leading to concise and elegant programs. To this end our system distinguishes bindings of variables intended for instantiation from those that will remain uninstantiated, utilizing a variation of Miller and Tiu's ∇-quantifier [1].

References

[1]
Miller, D., Tiu, A.: A proof theory for generic judgments. ACM Trans. on Computational Logic 6(4), 749-783 (2005).
[2]
Harper, R., Honsell, F., Plotkin, G.: A framework for defining logics. Journal of the Association for Computing Machinery 40(1), 143-184 (1993).
[3]
Poswolsky, A., Schürmann, C.: Extended report on Delphin: A functional programming language with higher-order encodings and dependent types. Technical Report YALEU/DCS/TR-1375, Yale University (2007).
[4]
Schürmann, C., Pfenning, F.: A coverage checking algorithm for LF. In: Basin, D., Wolff, B. (eds.) TPHOLs 2003. LNCS, vol. 2758, Springer, Heidelberg (2003).
[5]
Dowek, G., Hardin, T., Kirchner, C., Pfenning, F.: Unification via explicit substitutions: The case of higher-order patterns. Rapport de Recherche 3591, INRIA (December 1998) Preliminary version appeared at JICSLP 1996 (1996).
[6]
Schürmann, C., Poswolsky, A., Sarnat, J.: The ∇-calculus. Functional programming with higher-order encodings. In: Typed Lambda Calculus and Applications, TLCA (2005).
[7]
Pientka, B.: A type-theoretic foundation for programming with higher-order abstract syntax and first-class substitutions. In: Principles of Programming Languages, POPL (2008).
[8]
Gabbay, M., Pitts, A.M.: A new approach to abstract syntax with variable binding. Formal Aspects Computing 13(3-5), 341-363 (2002).
[9]
Pottier, F.: Static name control for FreshML. In: Twenty-Second Annual IEEE Symposium on Logic In Computer Science (LICS 2007), Wroclaw, Poland (July 2007).

Cited By

View all
  • (2013)Typed syntactic meta-programmingACM SIGPLAN Notices10.1145/2544174.250057548:9(73-86)Online publication date: 25-Sep-2013
  • (2013)First-class substitutions in contextual type theoryProceedings of the Eighth ACM SIGPLAN international workshop on Logical frameworks & meta-languages: theory & practice10.1145/2503887.2503889(15-24)Online publication date: 23-Sep-2013
  • (2013)Typed syntactic meta-programmingProceedings of the 18th ACM SIGPLAN international conference on Functional programming10.1145/2500365.2500575(73-86)Online publication date: 25-Sep-2013
  • Show More Cited By
  1. Practical programming with higher-order encodings and dependent types

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image Guide Proceedings
    ESOP'08/ETAPS'08: Proceedings of the Theory and practice of software, 17th European conference on Programming languages and systems
    March 2008
    398 pages
    ISBN:3540787380

    In-Cooperation

    • EAPLS: European Association for Programming Languages and Systems
    • EATCS: European Association for Theoretical Computer Science
    • European Association of Software Science and Technology

    Publisher

    Springer-Verlag

    Berlin, Heidelberg

    Publication History

    Published: 29 March 2008

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 16 Oct 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2013)Typed syntactic meta-programmingACM SIGPLAN Notices10.1145/2544174.250057548:9(73-86)Online publication date: 25-Sep-2013
    • (2013)First-class substitutions in contextual type theoryProceedings of the Eighth ACM SIGPLAN international workshop on Logical frameworks & meta-languages: theory & practice10.1145/2503887.2503889(15-24)Online publication date: 23-Sep-2013
    • (2013)Typed syntactic meta-programmingProceedings of the 18th ACM SIGPLAN international conference on Functional programming10.1145/2500365.2500575(73-86)Online publication date: 25-Sep-2013
    • (2012)Programming with binders and indexed data-typesProceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages10.1145/2103656.2103705(413-424)Online publication date: 25-Jan-2012
    • (2012)Static and user-extensible proof checkingProceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages10.1145/2103656.2103690(273-284)Online publication date: 25-Jan-2012
    • (2012)Programming with binders and indexed data-typesACM SIGPLAN Notices10.1145/2103621.210370547:1(413-424)Online publication date: 25-Jan-2012
    • (2012)Static and user-extensible proof checkingACM SIGPLAN Notices10.1145/2103621.210369047:1(273-284)Online publication date: 25-Jan-2012
    • (2011)Hobbits for HaskellACM SIGPLAN Notices10.1145/2096148.203468146:12(35-46)Online publication date: 22-Sep-2011
    • (2011)Hobbits for HaskellProceedings of the 4th ACM symposium on Haskell10.1145/2034675.2034681(35-46)Online publication date: 22-Sep-2011
    • (2011)2-Dimensional Directed Type TheoryElectronic Notes in Theoretical Computer Science (ENTCS)10.1016/j.entcs.2011.09.026276(263-289)Online publication date: 1-Sep-2011
    • Show More Cited By

    View Options

    View options

    Get Access

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media