Programming Languages and Systems
DOI: 10.1007/978-3-540-78739-6_2
|View full text |Cite
|
Sign up to set email alerts
|

Parametric Polymorphism through Run-Time Sealing or, Theorems for Low, Low Prices!

Abstract: Abstract. We show how to extend System F's parametricity guarantee to a Matthews-Findler-style multi-language system that combines System F with an untyped language by use of dynamic sealing. While the use of sealing for this purpose has been suggested before, it has never been proven to preserve parametricity. In this paper we prove that it does using step-indexed logical relations. Using this result we show a scheme for implementing parametric higher-order contracts in an untyped setting which corresponds to… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
30
0

Publication Types

Select...
4
3
1

Relationship

2
6

Authors

Journals

citations
Cited by 41 publications
(30 citation statements)
references
References 15 publications
(15 reference statements)
0
30
0
Order By: Relevance
“…The observation that sealing could be useful to combine parametric polymorphism with dynamic typing was already made by Pierce and Sumii [2000]. This idea was further developed with the definition of a gradually-typed language based on this idea [Ahmed et al 2011c;Matthews and Ahmed 2008], the addition of blame in the polymorphic blame calculus [Ahmed et al 2011a], further developed by Igarashi et al [2017] and Ahmed et al [2017]. Ahmed et al also prove a form of parametricity in the polymorphic blame calculus, but their formulation is rather different than existing ones (e.g.…”
Section: Introductionmentioning
confidence: 99%
See 1 more Smart Citation
“…The observation that sealing could be useful to combine parametric polymorphism with dynamic typing was already made by Pierce and Sumii [2000]. This idea was further developed with the definition of a gradually-typed language based on this idea [Ahmed et al 2011c;Matthews and Ahmed 2008], the addition of blame in the polymorphic blame calculus [Ahmed et al 2011a], further developed by Igarashi et al [2017] and Ahmed et al [2017]. Ahmed et al also prove a form of parametricity in the polymorphic blame calculus, but their formulation is rather different than existing ones (e.g.…”
Section: Introductionmentioning
confidence: 99%
“…As an instance of a multi-language (as proposed by ), Matthews and Ahmed [2008] construct a language that can embed both Scheme (i.e. an untyped lambda calculus) and ML (i.e.…”
Section: Related Workmentioning
confidence: 99%
“…In this paper, we have shown how to preserve ML's parametricity guarantees part-way through the compiler. Going forward we wish to develop a gradually typed assembly language that, following Matthews and Ahmed [16], uses dynamic sealing on the untyped side to enforce parametricity guarantees provided by type abstraction on the typed side.…”
Section: Discussion and Future Workmentioning
confidence: 99%
“…But since step-indexed logical relations can be defined by induction on future step counts, the method can be used to reason about untyped languages. In recent work, Acar et al [2008] and Matthews and Ahmed [2008] have demonstrated the use of step-indexed logical relations in untyped settings.…”
Section: Step-indexed Logical Relationsmentioning
confidence: 99%