Proceedings of the 31st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages 2004
DOI: 10.1145/964001.964025
|View full text |Cite
|
Sign up to set email alerts
|

Tridirectional typechecking

Abstract: In prior work we introduced a pure type assignment system that encompasses a rich set of property types, including intersections, unions, and universally and existentially quantified dependent types. This system was shown sound with respect to a call-by-value operational semantics with effects, yet is inherently undecidable.In this paper we provide a decidable formulation for this system based on bidirectional checking, combining type synthesis and analysis following logical principles. The presence of unions … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
47
0

Year Published

2005
2005
2024
2024

Publication Types

Select...
6
1
1

Relationship

0
8

Authors

Journals

citations
Cited by 64 publications
(47 citation statements)
references
References 22 publications
0
47
0
Order By: Relevance
“…However, arguments cannot change state, and state transitions have to be deterministic. We overcome these limitations by adapting type refinements with union and intersection types [9] to our setting. The basic notation is as follows:…”
Section: Methods Specification and Refinementmentioning
confidence: 99%
See 1 more Smart Citation
“…However, arguments cannot change state, and state transitions have to be deterministic. We overcome these limitations by adapting type refinements with union and intersection types [9] to our setting. The basic notation is as follows:…”
Section: Methods Specification and Refinementmentioning
confidence: 99%
“…Behavioral subtyping results from using union and intersection types [9] in method specifications. They can express non-determinism and case-by-case behavior, increasing expressiveness and precision over specifications in Fugue.…”
Section: Introductionmentioning
confidence: 99%
“…In contrast with [8,6,19], this does not force the whole calculus to be call-by-value. We build on [15,16], where a general notion of Girard's candidates is proposed.…”
Section: Introductionmentioning
confidence: 94%
“…This suggests either to adapt the elimination rules to the calculus, or to adapt the calculus to the elimination rules. In call-by-value settings, the first solution is studied in [6,19] for systems with union and implicit existential quantification. Both works propose elimination rules restricted to call-by-value evaluation contexts.…”
Section: Introductionmentioning
confidence: 99%
“…This syntactic approach is typically formalized by an inductively or co-inductively defined set of rules (Pierce, 2002). Unfortunately, deriving an algorithm from such a set of rules can be difficult, especially for advanced features such as intersection and union types (Dunfield & Pfenning, 2004;Dunfield, 2007).…”
Section: Related Workmentioning
confidence: 99%