skip to main content
10.1145/2847538.2847547acmconferencesArticle/Chapter ViewAbstractPublication PagespepmConference Proceedingsconference-collections
research-article

Toward introducing binding-time analysis to MetaOCaml

Published: 11 January 2016 Publication History

Abstract

This paper relates 2-level lambda-calculus and staged lambda-calculus (restricted to 2 stages) to obtain monovariant binding-time analysis for lambda-calculus that produces the output in the form of staging annotations. The relationship between the two lambda-calculi provides us with a precise and easy instruction on how to implement binding-time analysis to be incorporated in the staged lambda-calculus. It forms a basis for introducing binding-time analysis to full-fledged staged languages such as MetaOCaml.

Supplementary Material

Auxiliary Archive (p97-asai-s.zip)
The appendix presents all the proofs omitted in the main content of the paper.

References

[1]
Asai, K. “Compiling a Reflective Language using MetaOCaml,” Proceedings of the 2014 International Conference on Generative Programming: Concepts and Experiences (GPCE ’14), pp. 113–122 (September 2014).
[2]
Glück, R., and J. Jørgensen “An Automatic Program Generator for Multi-Level Specialization,” Lisp and Symbolic Computation, Vol. 10, No. 2, pp. 113–158, Kluwer Academic Publishers (July 1997).
[3]
Gomard, C. K. “A Self-Applicable Partial Evaluator for the Lambda Calculus: Correctness and Pragmatics,” ACM Transactions on Programming Languages and Systems, Vol. 14, No. 2, pp. 147–172 (April 1992).
[4]
Henglein, F. “Efficient Type Inference for Higher-Order Binding-Time Analysis,” In J. Hughes, editor, Functional Programming Languages and Computer Architecture (LNCS 523), pp. 448–472 (August 1991).
[5]
Jones, N. D., C. K. Gomard, and P. Sestoft Partial Evaluation and Automatic Program Generation, New York: Prentice-Hall (1993).
[6]
Kiselyov, O. “The Design and Implementation of BER MetaOCaml, System Description,” In M. Codish, and E. Sumii, editors, Functional and Logic Programming (LNCS 8475), pp. 86–102 (June 2014).
[7]
Linger, N., and T. Sheard “Binding-Time Analysis for MetaML via Type Inference and Constraint Solving,” In K. Jensen and A. Podelski, editors, Tools and Algorithms for the Construction and Analysis of Systems (LNCS 2988), pp. 266–279 (March 2004).
[8]
Sheard, T., N. Linger “Search-Based Binding Time Analysis using Type-Directed Pruning,” Proceedings of the Asian Symposium on Partial Evaluation and Semantics-Based Program Manipulation (ASIAPEPM’02), pp. 20–31 (September 2002).
[9]
Taha, W. “A Gentle Introduction to Multi-stage Programming,” In C. Lengauer, D. Batory, C. Consel, and M. Odersky, editors, Domain-Specific Program Generation (LNCS 3016), pp. 30–50 (2004).

Cited By

View all

Index Terms

  1. Toward introducing binding-time analysis to MetaOCaml

        Recommendations

        Comments

        Information & Contributors

        Information

        Published In

        cover image ACM Conferences
        PEPM '16: Proceedings of the 2016 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation
        January 2016
        108 pages
        ISBN:9781450340977
        DOI:10.1145/2847538
        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Sponsors

        In-Cooperation

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        Published: 11 January 2016

        Permissions

        Request permissions for this article.

        Check for updates

        Author Tags

        1. 2-level lambda-calculus
        2. MetaOCaml
        3. Partial evaluation
        4. binding-time analysis
        5. staging

        Qualifiers

        • Research-article

        Funding Sources

        Conference

        POPL '16
        Sponsor:

        Acceptance Rates

        Overall Acceptance Rate 66 of 120 submissions, 55%

        Contributors

        Other Metrics

        Bibliometrics & Citations

        Bibliometrics

        Article Metrics

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

        Other Metrics

        Citations

        Cited By

        View all

        View Options

        Get Access

        Login options

        View options

        PDF

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader

        Media

        Figures

        Other

        Tables

        Share

        Share

        Share this Publication link

        Share on social media