Proceedings of the 18th ACM SIGPLAN International Conference on Functional Programming 2013
DOI: 10.1145/2500365.2500582
|View full text |Cite
|
Sign up to set email alerts
|

Complete and easy bidirectional typechecking for higher-rank polymorphism

Abstract: Bidirectional typechecking, in which terms either synthesize a type or are checked against a known type, has become popular for its scalability (unlike Damas-Milner type inference, bidirectional typing remains decidable even for very expressive type systems), its error reporting, and its relative ease of implementation. Following design principles from proof theory, bidirectional typing can be applied to many type constructs. The principles underlying a bidirectional approach to polymorphism, however, are less… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
93
0
1

Year Published

2016
2016
2023
2023

Publication Types

Select...
6

Relationship

0
6

Authors

Journals

citations
Cited by 63 publications
(94 citation statements)
references
References 42 publications
0
93
0
1
Order By: Relevance
“…Our work is also closely related to recent work on using a bidirectional type system for higher-rank polymorphism by Dunfield and Krishnaswami [10], called DK below. The closest relationship is between their declarative system (Fig.…”
Section: Related Work and Conclusionmentioning
confidence: 64%
See 4 more Smart Citations
“…Our work is also closely related to recent work on using a bidirectional type system for higher-rank polymorphism by Dunfield and Krishnaswami [10], called DK below. The closest relationship is between their declarative system (Fig.…”
Section: Related Work and Conclusionmentioning
confidence: 64%
“…Instead, instantiation is done only on demand, such as when a polymorphic function is applied to arguments. Lazy instantiation has been used in (non-HM) type inference before [10] and may be folklore; however this work contains the first proof that it can be used to implement the HM type system.…”
Section: Is Our Extension Compatible With the Rest Of The Type System?mentioning
confidence: 99%
See 3 more Smart Citations