skip to main content
research-article

Set-theoretic foundation of parametric polymorphism and subtyping

Authors Info & Claims
Published:19 September 2011Publication History
Skip Abstract Section

Abstract

We define and study parametric polymorphism for a type system with recursive, product, union, intersection, negation, and function types. We first recall why the definition of such a system was considered hard "when not impossible" and then present the main ideas at the basis of our solution. In particular, we introduce the notion of "convexity" on which our solution is built up and discuss its connections with parametricity as defined by Reynolds to whose study our work sheds new light.

Skip Supplemental Material Section

Supplemental Material

_talk9.mp4

References

  1. V. Balat, J. Vouillon, and B. Yakobowski. Experience report: Ocsigen, a web programming framework. In ICFP '09. ACM Press, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. V. Benzaken, G. Castagna, and A. Frisch. CDuce: an XML-friendly general purpose language. In ICFP '03. ACM Press, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. G. Castagna, R. De Nicola, and D. Varacca. Semantic subtyping for the π-calculus. Theor. Comput. Sci., 398(1-3):217--242, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. G. Castagna and K. Nguyen. Typed iterators for XML. In ICFP '08, pages 15--26. ACM Press, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. J. Clark and M. Murata. Relax-NG, 2001. www.relaxng.org.Google ScholarGoogle Scholar
  6. D. Draper et al. XQuery 1.0 and XPath 2.0 Formal Semantics, 2007. http://www.w3.org/TR/query-semantics/.Google ScholarGoogle Scholar
  7. T. Berners-Lee et al. Uniform Resource Identifier, January 2005. RFC 3986, STD 66.Google ScholarGoogle Scholar
  8. A. Frisch. Théorie, conception et réalisation d'un langage de programmation fonctionnel adapté à XML. PhD thesis, Université Paris 7, December 2004.Google ScholarGoogle Scholar
  9. A. Frisch. OCaml + XDuce. In ICFP'06. ACM Press, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. A. Frisch, G. Castagna, and V. Benzaken. Semantic subtyping: dealing set-theoretically with function, union, intersection, and negation types. The Journal of ACM, 55(4):1--64, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. V. Gapeyev, M.Y. Levin, B.C. Pierce, and A. Schmitt. The Xtatic compiler and runtime system, 2005. http://www.cis.upenn.edu/~bcpierce/xtatic.Google ScholarGoogle Scholar
  12. J. Garrigue. Programming with polymorphic variants. In Proc. of ML Workshop, 1998.Google ScholarGoogle Scholar
  13. P. Genevès, N. Layaïda, and A. Schmitt. Efficient static analysis of XML paths and types. In PLDI '07. ACM Press, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. N. Gesbert, P. Genevès, and N. Layaïda. Parametric Polymorphism and Semantic Subtyping: the Logical Connection. In ICFP '11, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. H. Hosoya, A. Frisch, and G. Castagna. Parametric polymorphism for XML. ACM TOPLAS, 32(1):1--56, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. H. Hosoya and B. Pierce. XDuce: A statically typed XML processing language. ACM TOIT, 3(2):117--148, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. K. Zhuo Ming Lu and M. Sulzmann. An implementation of subtyping among regular expression types. In Proc. of APLAS '04, volume 3302 of LNCS, pages 57--73. Springer, 2004.Google ScholarGoogle Scholar
  18. J. C. Reynolds. Types, abstraction and parametric polymorphism. In Information Processing, pages 513--523. Elsevier, 1983.Google ScholarGoogle Scholar
  19. J. C. Reynolds. Polymorphism is not set-theoretic. In Semantics of Data Types, volume 173 of LNCS, pages 145--156. Springer, 1984.Google ScholarGoogle ScholarCross RefCross Ref
  20. J. Vouillon. Polymorphic regular tree types and patterns. In POPL'06, pages 103--114, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. W3C. SOAP Version 1.2. http://www.w3.org/TR/soap.Google ScholarGoogle Scholar
  22. P. Wadler. Theorems for free! In Functional Programming Languages and Computer Architecture, pages 347--359. ACM Press, 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. C. Wallace and C. Runciman. Haskell and XML: Generic combinators or type based translation? In ICFP '99, pages 148--159, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. H. Xi, C. Chen, and G. Chen. Guarded recursive datatype constructors. In POPL'03, pages 224--235. ACM Press, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Set-theoretic foundation of parametric polymorphism and subtyping

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Published in

          cover image ACM SIGPLAN Notices
          ACM SIGPLAN Notices  Volume 46, Issue 9
          ICFP '11
          September 2011
          456 pages
          ISSN:0362-1340
          EISSN:1558-1160
          DOI:10.1145/2034574
          Issue’s Table of Contents
          • cover image ACM Conferences
            ICFP '11: Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
            September 2011
            470 pages
            ISBN:9781450308656
            DOI:10.1145/2034773

          Copyright © 2011 ACM

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 19 September 2011

          Check for updates

          Qualifiers

          • research-article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!