2011
DOI: 10.1017/s0956796811000098
|View full text |Cite
|
Sign up to set email alerts
|

OutsideIn(X)Modular type inference with local assumptions

Abstract: Advanced type system features, such as GADTs, type classes, and type families have proven to be invaluable language extensions for ensuring data invariants and program correctness among others. Unfortunately, they pose a tough problem for type inference, because they introduce local type assumptions.In this article we present a novel constraint-based type inference approach for local type assumptions. Our system, called OutsideIn(X), is parameterised over the particular underlying constraint domain X, in the s… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
123
0

Year Published

2013
2013
2023
2023

Publication Types

Select...
7
1

Relationship

1
7

Authors

Journals

citations
Cited by 104 publications
(123 citation statements)
references
References 49 publications
0
123
0
Order By: Relevance
“…Variants of this system have been proposed over the years, for example in [55,56]. Similarly, in order to deal with Haskell's rich type system, Vytiniotis et al developed the parameterized OutsideIn(X) constraint-based type inference algorithm [59]. Using these let-constraints Pottier and Rémy "achieve the desired separation between constraint generation, on the one hand, and constraint solving and simplification, on the other hand, without compromising efficiency" [48].…”
Section: Related Constraint Systemsmentioning
confidence: 99%
“…Variants of this system have been proposed over the years, for example in [55,56]. Similarly, in order to deal with Haskell's rich type system, Vytiniotis et al developed the parameterized OutsideIn(X) constraint-based type inference algorithm [59]. Using these let-constraints Pottier and Rémy "achieve the desired separation between constraint generation, on the one hand, and constraint solving and simplification, on the other hand, without compromising efficiency" [48].…”
Section: Related Constraint Systemsmentioning
confidence: 99%
“…The advantage of studying a syntax-directed system such as System C is that doing so separates concerns: System C fixes the structure of the typing derivation (and of any implementation) while leaving monotype-guessing as a separate problem. Algorithm W deduces the monotypes via unification, but a constraint-based approach [25,27] would also work.…”
Section: System Cmentioning
confidence: 99%
“…In the this section, we will give a short description of the type checking and constraint solving for Haskell that is documented in (Vytiniotis et al 2011). Type checking is divided into two phases: first type inference, where constraints are generated, then these constraints are solved.…”
Section: Type Checking Haskellmentioning
confidence: 99%
“…Using the notation from In (Vytiniotis et al 2011), → is a typing judgment with an input tuple ᾱ, ϕ, Qg, Qw and an output tuple ᾱ , ϕ , Q g , Q w . Here, Q is the top-level environment (containing, for example, all defined class instances), Qw are the wanted constraints and Qg are the given constraints.ᾱ is a set of touchable variables (the variables which may be substituted) and ϕ is a set of substitutions.…”
Section: Type Rulesmentioning
confidence: 99%
See 1 more Smart Citation