Proceedings of the 18th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages - POPL '91 1991
DOI: 10.1145/99583.99622
|View full text |Cite
|
Sign up to set email alerts
|

Polymorphic type inference and assignment

Abstract: We present a new approach to the polymorphic typing of data accepting in-place modification in ML-like languages. This approach is based on restrictions over type generalization, and a refined typing of functions. The type system given here leads to a better integration of imperative programming style with the purely applicative kernel of ML. In particular, generic functions that allocate mutable data can safely be given fully polymorphic types. We show the soundness of this type system, and give a type recons… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

1
54
0

Year Published

1993
1993
2021
2021

Publication Types

Select...
4
3
2

Relationship

0
9

Authors

Journals

citations
Cited by 55 publications
(55 citation statements)
references
References 8 publications
1
54
0
Order By: Relevance
“…- [9] presents a somewhat alternative view: here focus is not on detecting creation of reference cells but rather to detect their use; this means that if an identifier occurs free in a function closure then all variables in its type have to be "examined". This method is quite powerful but unfortunately it fails to be a conservative extension of ML (cf.…”
Section: Introductionmentioning
confidence: 99%
“…- [9] presents a somewhat alternative view: here focus is not on detecting creation of reference cells but rather to detect their use; this means that if an identifier occurs free in a function closure then all variables in its type have to be "examined". This method is quite powerful but unfortunately it fails to be a conservative extension of ML (cf.…”
Section: Introductionmentioning
confidence: 99%
“…If we considered only benchmarks proposed in the literature [10,11], we would come to the conclusion that the relaxed value restriction adds no power: its results exactly matches those of the strict value restriction. This is because all examples in the literature are only concerned with polymorphic procedures, not polymorphic data.…”
Section: Typing Power and Usefulnessmentioning
confidence: 96%
“…As such, this would be sound to make them normal polymorphic variables. Yet more refined type systems, based either on effect analysis by Talpin and Jouvelot [10] or closure typing by Leroy and Weis [11,12], are able to extract this polymorphism, by tracking in more detail creation and access of references. They both give the same type to imp map and an applicative version of map, but this is at the price of adding information about the program execution flow.…”
Section: Conservative Solutionsmentioning
confidence: 99%
“…The static semantics then derives both a type and an effect for an expression, and generalization is then defined relative to those effects. This approach is taken by Damas [1], Leroy and Weis [6], Reynolds [9], Talpin and Jouvelot [10,11], and Wright [13]. A slightly different approach is given by Leroy [5], where type arrows are labelled with types that may occur in references.…”
Section: Comparisons With Other Related Systemsmentioning
confidence: 99%