ACM Home Page
Please provide us with feedback. Feedback
Non-parametric parametricity
Full text PdfPdf (489 KB)
Source
International Conference on Functional Programming archive
Proceedings of the 14th ACM SIGPLAN international conference on Functional programming table of contents
Edinburgh, Scotland
SESSION: Session 6 table of contents
Pages 135-148  
Year of Publication: 2009
ISBN:978-1-60558-332-7
Also published in ...
Authors
Georg Neis  MPI-SWS, Saarbrücken, Germany
Derek Dreyer  MPI-SWS, Saarbrücken, Germany
Andreas Rossberg  MPI-SWS, Saarbrücken, Germany
Sponsors
ACM: Association for Computing Machinery
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 21,   Downloads (12 Months): 127,   Citation Count: 0
Additional Information:

abstract   references   index terms  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1596550.1596572
What is a DOI?

ABSTRACT

Type abstraction and intensional type analysis are features seemingly at odds-type abstraction is intended to guarantee parametricity and representation independence, while type analysis is inherently non-parametric. Recently, however, several researchers have proposed and implemented "dynamic type generation" as a way to reconcile these features. The idea is that, when one defines an abstract type, one should also be able to generate at run time a fresh type name, which may be used as a dynamic representative of the abstract type for purposes of type analysis. The question remains: in a language with non-parametric polymorphism, does dynamic type generation provide us with the same kinds of abstraction guarantees that we get from parametric polymorphism?

Our goal is to provide a rigorous answer to this question. We define a step-indexed Kripke logical relation for a language with both non-parametric polymorphism (in the form of type-safe cast) and dynamic type generation. Our logical relation enables us to establish parametricity and representation independence results, even in a non-parametric setting, by attaching arbitrary relational interpretations to dynamically-generated type names. In addition, we explore how programs that are provably equivalent in a more traditional parametric logical relation may be "wrapped" systematically to produce terms that are related by our non-parametric relation, and vice versa. This leads us to a novel "polarized" form of our logical relation, which enables us to distinguish formally between positive and negative notions of parametricity.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Martin Abadi, Luca Cardelli, Benjamin Pierce, and Didier Remy. Dynamic typing in polymorphic languages. JFP, 5(1):111--130, 1995.
 
2
Amal Ahmed. Semantics of Types for Mutable State. PhD thesis, Princeton University, 2004.
 
3
Amal Ahmed. Step-indexed syntactic logical relations for recursive and quantified types. In ESOP, 2006.
 
4
Amal Ahmed. Personal communication, 2009.
 
5
Amal Ahmed and Matthias Blume. Typed closure conversion preserves observational equivalence. In ICFP, 2008.
 
6
Amal Ahmed, Derek Dreyer, and Andreas Rossberg. State-dependent representation independence. In POPL, 2009.
 
7
Andrew W. Appel and David McAllester. An indexed model of recursive types for foundational proof-carrying code. TOPLAS, 23(5):657--683, 2001.
 
8
Karl Crary and Robert Harper. Syntactic logical relations for polymorphic and recursive types. In Computation, Meaning and Logic: Articles dedicated to Gordon Plotkin. 2007.
 
9
Jean-Yves Girard. Interpretation fonctionelle et elimination des coupures de l'arithmetique d'ordre superieur. PhD thesis, Universite Paris VII, 1972.
 
10
Dan Grossman, Greg Morrisett, and Steve Zdancewic. Syntactic type abstraction. TOPLAS, 22(6):1037--1080, 2000.
 
11
Robert Harper and John C. Mitchell. Parametricity and variants of Girard's J operator. Information Processing Letters, 1999.
 
12
Robert Harper and Greg Morrisett. Compiling polymorphism using intensional type analysis. In POPL, 1995.
 
13
JacobMatthews and Amal Ahmed. Parametric polymorphism through run-time sealing, or, theorems for low, low prices! In ESOP, 2008.
 
14
John C. Mitchell. Representation independence and data abstraction. In POPL, 1986.
 
15
John C. Mitchell and Gordon D. Plotkin. Abstract types have existential type. TOPLAS, 10(3):470--502, 1988.
 
16
Georg Neis. Non-parametric parametricity. Master's thesis, Universitat des Saarlandes, 2009.
 
17
Andrew Pitts. Typed operational reasoning. In Benjamin C. Pierce, editor, Advanced Topics in Types and Programming Languages, chapter 7. MIT Press, 2005.
 
18
Andrew Pitts and Ian Stark. Observable properties of higher order functions that dynamically create local names, or: What's new? In MFCS, volume 711 of LNCS, 1993.
 
19
Andrew Pitts and Ian Stark. Operational reasoning for functions with local state. In HOOTS, 1998.
 
20
John C. Reynolds. Types, abstraction and parametric polymorphism. In Information Processing, 1983.
 
21
Andreas Rossberg. Generativity and dynamic opacity for abstract types. In PPDP, 2003.
 
22
Andreas Rossberg. Dynamic translucency with abstraction kinds and higher-order coercions. In MFPS, 2008.
 
23
Andreas Rossberg, Didier Le Botlan, Guido Tack, Thorsten Brunklaus, and Gert Smolka. Alice ML through the looking glass. In TFP, volume 5, 2004.
 
24
Peter Sewell. Modules, abstract types, and distributed versioning. In POPL, 2001.
 
25
Peter Sewell, James Leifer, Keith Wansbrough, Francesco Zappa Nardelli, Mair Allen-Williams, Pierre Habouzit, and Viktor Vafeiadis. Acute: High-level programming language design for distributed computation. JFP, 17(4&5):547--612, 2007.
 
26
Eijiro Sumii and Benjamin C. Pierce. Logical relations for encryption. JCS, 11(4):521--554, 2003.
 
27
Eijiro Sumii and Benjamin C. Pierce. A bisimulation for dynamic sealing. TCS, 375(1-3):161--192, 2007.
 
28
Eijiro Sumii and Benjamin C. Pierce. A bisimulation for type abstraction and recursion. JACM, 54(5):1--43, 2007.
 
29
Dimitrios Vytiniotis, Geoffrey Washburn, and Stephanie Weirich. An open and shut typecase. In TLDI, 2005.
 
30
Philip Wadler. Theorems for free! In FPCA, 1989.
 
31
Geoffrey Washburn and Stephanie Weirich. Generalizing parametricity using information flow. In LICS, 2005.
 
32
Stephanie Weirich. Type-safe cast. JFP, 14(6):681--695, 2004.