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

Encoding Intensional Type Analysis

Published: 02 April 2001 Publication History

Abstract

Languages for intensional type analysis permit ad-hoc polymorphism, or run-time analysis of types. However, such languages require complex, specialized constructs to support this operation, which hinder optimization and complicate the meta-theory of these languages. In this paper, we observe that such specialized operators need not be intrinsic to the language, and in fact, their operation may be simulated through standard encodings of iteration in the polymorphic lambda calculus. Therefore, we may more easily add intensional analysis operators to complicated languages via translation, instead of language extension.

References

[1]
C. Böhm and A. Berarducci. Automatic synthesis of typed ∧-programs on term algebras. Theoretical Computer Science, 39:135-154, 1985.
[2]
Thierry Coquand. A new paradox in type theory. In Dag Prawitz, Brian Skyrms, and Dag Westerståhl, editors, Logic, methodology and philosophy of science IX : proceedings of the Ninth International Congress of Logic, Methodology, and Philosophy of Science, Uppsala, Sweden, August 7-14, 1991, Amsterdam, 1994. Elsevier.
[3]
Thierry Coquand and Christin Paulin. Inductively defined types. In P. Martin-Löf and G. Mints, editors, COLOG-88 International Conference on Computer Logic, volume 417 of Lecture Notes in Computer Science, pages 50-66, Tallinn, USSR, December 1988. Springer-Verlag.
[4]
Karl Crary and Stephanie Weirich. Flexible type analysis. In 1999 ACM International Conference on Functional Programming, pages 233-248, Paris, September 1999.
[5]
Karl Crary, Stephanie Weirich, and Greg Morrisett. Intensional polymorphism in type erasure semantics. In 1998 ACM International Conference on Functional Programming, volume 34 of ACM SIGPLAN Notices, pages 301-313, Baltimore, MD, September 1998. Extended Version is Cornell University Computer Science TR98-1721.
[6]
Olivier Danvy. Type-directed partial evaluation. In Twenty-Third ACM Symposium on Principles of Programming Languages, January 1996.
[7]
Peter Dybjer. Inductive sets and families in Martin-Löf's type theory and their set-theoretic semnatics. In Gerard Huet and Gordon Plotkin, editors, Logical Frameworks , pages 280-306. Prentice Hall, 1991.
[8]
Jean-Yves Girard. InterprÉtation fonctionelle et Élimination des coupures de l'arithmÉtique d'ordre supÉrieur. PhD thesis, UniversitÉ Paris VII, 1972.
[9]
Robert Harper and Greg Morrisett. Compiling polymorphism using intensional type analysis. In Twenty-Second ACM Symposium on Principles of Programming Languages, pages 130-141, San Francisco, January 1995.
[10]
A. J. C. Hurkens. A simplification of girard's paradox. In Mariangiola Dezani-Ciancaglini and Gordon Plotkin, editors, Second International Conference on Typed Lambda Calculi and Applications, TLCA '95, volume 902 of Lecture Notes in Computer Science, Edinburgh, United Kingdom, April 1995. Springer-Verlag.
[11]
Lambert G. L. T. Meertens. Paramorphisms. Formal Aspects of Computing, 4(5):413-424, 1992.
[12]
E. Meijer, M.M. Fokkinga, and R. Paterson. Functional programming with bananas, lenses, envelopes and barbed wire. In FPCA91: Functional Programming Languages and Computer Architecture, volume 523 of Lecture Notes in Computer Science, pages 124-144. Springer-Verlag, 1991.
[13]
Paul Francis Mendler. Inductive Definition in Type Theory. PhD thesis, Department of Computer Science, Cornell University, Ithaca, New York, September 1987.
[14]
Robin Milner, Mads Tofte, Robert Harper, and David MacQueen. The Definition of Standard ML (Revised). The MIT Press, Cambridge, Massachusetts, 1997.
[15]
John C. Mitchell. Foundations for Programming Languages. The MIT Press, 1996.
[16]
C. Paulin-Mohring. Inductive definitions in the system Coq - rules and properties. In M. Bezem and J.-F. Groote, editors, Proceedings of the conference Typed Lambda Calculi and Applications, number 664 in Lecture Notes in Computer Science, 1993. LIP research report 92-49.
[17]
Simon L. Peyton Jones and J. Hughes (editors). Report on the programming language Haskell 98, a non-strict purely functional language. Technical Report YALEU/DCS/RR-1106, Yale University, Department of Computer Science, February 1999. Available from http://www.haskell.org/definition/.
[18]
F. Pfenning and C. Paulin-Mohring. Inductively defined types in the Calculus of Constructions. In Proceedings of Mathematical Foundations of Programming Semantics, volume 442 of Lecture Notes in Computer Science. Springer-Verlag, 1990.
[19]
Gordon Plotkin and Martín Abadi. A logic for parametric polymorphism. In International Conference on Typed Lambda Calculi and Applications, pages 361- 375, 1993.
[20]
John C. Reynolds. Polymorphism is not set-theoretic. In Proceedings of the International Symposium on Semantics of Data Types, volume 173 of Lecture Notes in Computer Science. Springer-Verlag, 1984.
[21]
Bratin Saha, Valery Trifonov, and Zhong Shao. Fully reflexive intensional type analysis in type erasure semantics. In Third Workshop on Types in Compilation, Montreal, September 2000.
[22]
Zdzisław Spławski and Paweł Urzyczyn. Type fixpoints: Iteration vs. recursion. In Fourth ACM International Conference on Functional Programming, pages 102-113, Paris, France, September 1999.
[23]
Valery Trifonov, Bratin Saha, and Zhong Shao. Fully reflexive intensional type analysis. In Fifth ACM International Conference on Functional Programming, pages 82-93, Montreal, September 2000. Extended version is YALEU/DCS/TR- 1194.
[24]
Philip Wadler and Stephen Blott. How to make ad-hoc polymorphism less ad-hoc. In Sixteenth ACM Symposium on Principles of Programming Languages, pages 60-76. ACM, 1989.
[25]
Zhe Yang. Encoding types in ML-like languages. In 1998 ACM International Conference on Functional Programming, volume 34 of ACM SIGPLAN Notices, pages 289-300, Baltimore, MD, September 1998.

Cited By

View all
  • (2010)Typed tagless final interpretersProceedings of the 2010 international spring school conference on Generic and Indexed Programming10.1007/978-3-642-32202-0_3(130-174)Online publication date: 22-Mar-2010
  • (2009)Language support for processing distributed ad hoc dataProceedings of the 11th ACM SIGPLAN conference on Principles and practice of declarative programming10.1145/1599410.1599440(243-254)Online publication date: 7-Sep-2009
  • (2009)Generic programming in 3DScience of Computer Programming10.1016/j.scico.2007.10.00674:8(590-628)Online publication date: 1-Jun-2009
  • Show More Cited By

Index Terms

  1. Encoding Intensional Type Analysis
    Index terms have been assigned to the content through auto-classification.

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image Guide Proceedings
    ESOP '01: Proceedings of the 10th European Symposium on Programming Languages and Systems
    April 2001
    432 pages
    ISBN:3540418628

    Publisher

    Springer-Verlag

    Berlin, Heidelberg

    Publication History

    Published: 02 April 2001

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

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

    Other Metrics

    Citations

    Cited By

    View all
    • (2010)Typed tagless final interpretersProceedings of the 2010 international spring school conference on Generic and Indexed Programming10.1007/978-3-642-32202-0_3(130-174)Online publication date: 22-Mar-2010
    • (2009)Language support for processing distributed ad hoc dataProceedings of the 11th ACM SIGPLAN conference on Principles and practice of declarative programming10.1145/1599410.1599440(243-254)Online publication date: 7-Sep-2009
    • (2009)Generic programming in 3DScience of Computer Programming10.1016/j.scico.2007.10.00674:8(590-628)Online publication date: 1-Jun-2009
    • (2007)Free Theorems and Runtime Type RepresentationsElectronic Notes in Theoretical Computer Science (ENTCS)10.1016/j.entcs.2007.02.043173(357-373)Online publication date: 1-Apr-2007
    • (2006)Generic programming, now!Proceedings of the 2006 international conference on Datatype-generic programming10.5555/1782894.1782897(150-208)Online publication date: 24-Apr-2006
    • (2006)RepLibProceedings of the 2006 ACM SIGPLAN workshop on Haskell10.1145/1159842.1159844(1-12)Online publication date: 17-Sep-2006
    • (2006)“Scrap your boilerplate” revolutionsProceedings of the 8th international conference on Mathematics of Program Construction10.1007/11783596_13(180-208)Online publication date: 3-Jul-2006
    • (2003)Guarded recursive datatype constructorsACM SIGPLAN Notices10.1145/640128.60415038:1(224-235)Online publication date: 15-Jan-2003
    • (2003)Guarded recursive datatype constructorsProceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages10.1145/604131.604150(224-235)Online publication date: 15-Jan-2003
    • (2002)A lightweight implementation of generics and dynamicsProceedings of the 2002 ACM SIGPLAN workshop on Haskell10.1145/581690.581698(90-104)Online publication date: 3-Oct-2002
    • 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