Proceedings of the 28th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages 2001
DOI: 10.1145/360204.360207
|View full text |Cite
|
Sign up to set email alerts
|

Colored local type inference

Abstract: We present a type system for a language based on F ≤ , which allows certain type annotations to be elided in actual programs. Local type inference determines types by a combination of type propagation and local constraint solving, rather than by global constraint solving. We refine the previously existing local type inference system of Pierce and Turner[PT98] by allowing partial type information to be propagated. This is expressed by coloring types to indicate propagation directions. Propagating partial type i… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
30
0

Year Published

2002
2002
2018
2018

Publication Types

Select...
4
2
2

Relationship

2
6

Authors

Journals

citations
Cited by 55 publications
(30 citation statements)
references
References 26 publications
0
30
0
Order By: Relevance
“…Scala defines a sophisticated type inference system which permits to omit actual type arguments. Type arguments of a method or constructor are inferred from the expected result type and the argument types by local type inference [39,36]. Hence, the body of function main in Listing 3 can also be written without any type arguments: val x = new GenCell(1); val y = new GenCell(2); swap(x, y)…”
Section: Resultsmentioning
confidence: 99%
“…Scala defines a sophisticated type inference system which permits to omit actual type arguments. Type arguments of a method or constructor are inferred from the expected result type and the argument types by local type inference [39,36]. Hence, the body of function main in Listing 3 can also be written without any type arguments: val x = new GenCell(1); val y = new GenCell(2); swap(x, y)…”
Section: Resultsmentioning
confidence: 99%
“…Most of the additional syntactic constructs in full Scala do not cause particular problems for type-checking. However, unlike Featherweight Scala, full Scala has local type inference [30,26]. Local type inference needs to construct least upper bounds and greatest lower bounds (wrt the subtype ordering) of sets of types.…”
Section: Type Checking and Type Inference In Scalamentioning
confidence: 99%
“…However, VWP also improves over PVWS in at least two significant ways. First, checking and inference modes are carried on types rather than on typing judgments, much as for colored local type inference [OZZ01]. This provides with a more precise control of these modes.…”
Section: Related Work and Conclusionmentioning
confidence: 99%
“…The first approach is known as local type inference [PT00,OZZ01]. By definition, these solutions cover all of System F. However, they are not yet conservative over ML, that is, there remain ML programs that fail to type without annotations.…”
Section: Introductionmentioning
confidence: 99%