1995
DOI: 10.1016/s1571-0661(04)80008-2
|View full text |Cite
|
Sign up to set email alerts
|

Type Inference for Recursively Constrained Types and its Application to OOP

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
13
0

Year Published

1995
1995
2007
2007

Publication Types

Select...
6
2

Relationship

1
7

Authors

Journals

citations
Cited by 55 publications
(13 citation statements)
references
References 23 publications
0
13
0
Order By: Relevance
“…For one, constraints may be recursive, allowing typing of self-referential expressions such as λx.xx. Furthermore, constraints allow a representation of conjunctive and disjunctive types [14], without requiring conjunctive and disjunctive type syntax and interpretation. While disjunction can be represented in effect terms via the nondeterministic choice operator (|), a term representation of effect conjunction would require the addition of a parallel-and operation in effects, which is known to significantly increase the complexity of model-checking [10].…”
Section: Constraint Subtyping For λ Tracementioning
confidence: 99%
See 1 more Smart Citation
“…For one, constraints may be recursive, allowing typing of self-referential expressions such as λx.xx. Furthermore, constraints allow a representation of conjunctive and disjunctive types [14], without requiring conjunctive and disjunctive type syntax and interpretation. While disjunction can be represented in effect terms via the nondeterministic choice operator (|), a term representation of effect conjunction would require the addition of a parallel-and operation in effects, which is known to significantly increase the complexity of model-checking [10].…”
Section: Constraint Subtyping For λ Tracementioning
confidence: 99%
“…While the logical typing rules are based on previous subtyping constraint systems such as [14] and [33], there is a difference, in that in any judgement Γ, C, H e : τ , the scope of quantified type variablesβ in type schemes in Γ effectively extend to C; in particular, noting the form of the rule ∀-ELIM, we define:…”
Section: Logical Subtyping Judgements and Derivationsmentioning
confidence: 99%
“…However, we believe this direction is very interesting as well, and we are currently working on it [2]. Previous work on inferring type constraints for object oriented languages includes [11,5,4,10,12].…”
Section: An Alternative Implementation Techniquementioning
confidence: 99%
“…6 Pizza's parametric polymorphism greatly facilitates the implementation of Extensible Visitors. 7 To illustrate this point in more detail, we c o n trast the Pizza implementation with one in Java. In Java, if process is expected to return values, its return type must be declared as Object.…”
Section: Typesmentioning
confidence: 99%
“…If we translate ContainsPt to return Boolean instead of boolean, the Java v ersion of the forUnion method in ContainsPtUnion is: public Object forUnion ( u) f return new Boolean ((((Boolean) (u.lhs.process (this))).booleanValue ()) _ (((Boolean) (u.rhs.process (this))).booleanValue ())) g 6 C++'s 31] template mechanism provides a limited amount of parametric polymorphism. 7 Thorup 33] has proposed a di erent s t yle of type parameterization for Java: virtual types. To implement Extensible Visitor using virtual types, which a r e o verrideable types in classes analogous to virtual methods, and obtain the bene ts of type-checking, we n e e d t o d e c l a r e process as follows (where is the virtual type declared in the processor): For the Pizza version of the same code (see Fig.…”
Section: Typesmentioning
confidence: 99%