## Efficient Inference of Object Types (1995)

### Cached

### Download Links

- [www.brics.dk]
- [www.brics.dk]
- [www.cs.purdue.edu]
- [www.cs.ucla.edu]
- DBLP

### Other Repositories/Bibliography

Citations: | 53 - 6 self |

### BibTeX

@MISC{Palsberg95efficientinference,

author = {Jens Palsberg},

title = {Efficient Inference of Object Types},

year = {1995}

}

### Years of Citing Articles

### OpenURL

### Abstract

Abadi and Cardelli have recently investigated a calculus of objects [2]. The calculus supports a key feature of object-oriented languages: an object can be emulated by another object that has more refined methods. Abadi and Cardelli presented four first-order type systems for the calculus. The simplest one is based on finite types and no subtyping, and the most powerful one has both recursive types and subtyping. Open until now is the question of type inference, and in the presence of subtyping "the absence of minimum typings poses practical problems for type inference" [2]. In this paper...

### Citations

223 | Type inclusion constraints and type inference
- Aiken, Wimmers
- 1993
(Show Context)
Citation Context ...type inference seem not to apply. Type inference for -calculi with records and subtyping has been studied by Eifrig, Smith, and Trifonov [9], using the approach to type inference of Aiken and Wimmers =-=[5]-=-. Their algorithm does not immediately apply to Abadi and Cardelli's calculus because of the following difference between the subtyping relations. For records, the conventional subtyping relations mak... |

175 |
The complexity of finite functions
- Boppana, Sipser
- 1990
(Show Context)
Citation Context ... V = [l : V 0 r : V 00 ], and translating V = C into V = [ ]. Thus, finding finite solutions to a SAC-system is P-hard. We then consider finding arbitrary solutions to SAC-systems. A monotone circuit =-=[7]-=- is a directed acyclic graph G whose nodes, called gates, are of five different kinds: 1. input gates with no in-edge and one out-edge; 2. and-gates with two in-edges and one out-edge; 3. or-gates wit... |

169 | A lambda-calculus of objects and method specialization
- Fisher, Honsell, et al.
- 1994
(Show Context)
Citation Context ... phenomenon is called subsumption. The calculus contains four constructions: variables, objects, method invocation, and method override. It is similar to the calculus of Mitchell, Honsell, and Fisher =-=[20]-=- in allowing method override, but it differs significantly in also allowing subsumption but not allowing objects to be extended with more methods. Abadi, Cardelli [2] Mitchell, Honsell, Fisher [20] Ob... |

134 |
Typechecking records and variants in a natural extension of ML
- Remy
- 1989
(Show Context)
Citation Context ...Abadi and Cardelli's calculus. The object types considered in this paper are rather like record types. Type inference for -calculi with records but no subtyping has been studied by Wand [24] and Remy =-=[22]-=-. In the presence of subtyping, unification-based approaches to type inference seem not to apply. Type inference for -calculi with records and subtyping has been studied by Eifrig, Smith, and Trifonov... |

117 | Type inference for record concatenation and multiple inheritance
- Wand
- 1991
(Show Context)
Citation Context ... not apply to Abadi and Cardelli's calculus. The object types considered in this paper are rather like record types. Type inference for -calculi with records but no subtyping has been studied by Wand =-=[24]-=- and Remy [22]. In the presence of subtyping, unification-based approaches to type inference seem not to apply. Type inference for -calculi with records and subtyping has been studied by Eifrig, Smith... |

84 | Type inference for recursively constrained types and its application to OOP
- Eifrig, Smith, et al.
- 1995
(Show Context)
Citation Context ... In the presence of subtyping, unification-based approaches to type inference seem not to apply. Type inference for -calculi with records and subtyping has been studied by Eifrig, Smith, and Trifonov =-=[9]-=-, using the approach to type inference of Aiken and Wimmers [5]. Their algorithm does not immediately apply to Abadi and Cardelli's calculus because of the following difference between the subtyping r... |

82 | A theory of primitive objects: Untyped and first-order systems
- Abadi, Cardelli
- 1994
(Show Context)
Citation Context ...g, and the most powerful one has both recursive types and subtyping. The latter can type many intriguing object-oriented programs, including objects whose methods return an updated self [2], see also =-=[4, 3, 1]. Ope-=-n until now is the question of type inference: Given an untyped program a, is a typable? If so, annotate it. In the presence of subtyping "the absence of minimum typings poses practical problems ... |

78 |
Type inference with subtypes
- Fuh, Mishra
- 1990
(Show Context)
Citation Context ... is computable in polynomial time [6]. In general, the type inference problem is PSPACE - hard [14, 23]. Type inference with atomic subtyping has also been studied in combination with ML polymorphism =-=[10, 11]-=-. Objects do not have base types, so type inference with atomic subtyping does not apply to Abadi and Cardelli's calculus. The object types considered in this paper are rather like record types. Type ... |

72 |
Coercion and type inference
- Mitchell
- 1984
(Show Context)
Citation Context ...of simply typed -calculus with typed constants together with the subsumption rule. The type inference problem is to decide if a given -term is typable. This problem was introduced by Mitchell in 1984 =-=[19]-=- who showed that type inference is computable in NEXPTIME in the size of the program. If (\Sigma; ) is a disjoint union of lattices, then type inference is computable in polynomial time [23]. Moreover... |

62 |
On the sequential nature of unification
- Dwork, Kannelakis, et al.
- 1984
(Show Context)
Citation Context ...truction is adapted from Henglein's proof of P-hardness of left-linear semi-unification [13]. That proof, in turn, is adapted from Dwork, Kanellakis, and Mitchell's proof of P-hardness of unification =-=[8]. Given a -=-monotone circuit and an assignment to input gates, we construct an SAC-graph as follows. Each gate in the circuit yields a small "gadget" consisting of a few nodes and edges. Each gadget has... |

59 | A theory of primitive objects: Second-order systems - Abadi, Cardelli - 1995 |

54 | Ecient inference of partial types
- Kozen, Palsberg, et al.
- 1994
(Show Context)
Citation Context ...ble extensions. The reader is encouraged to refer to the examples while reading the other sections. Our approach to type inference is related to that of Kozen, Schwartzbach, and the present author in =-=[17]-=-. Although the problems that we solve here are much different from that solved in [17], the two approaches have the same ingredients: constraints, graphs, and automata. We have produced a prototype im... |

41 | Leeuwen. Maintenance of transitive closures and transitive reductions of graphs
- Poutré, van
- 1988
(Show Context)
Citation Context ...ly. The insert operation returns a list of all edges that have been added, represented as node pairs. Initialization and maintenance of ITC can be done in O(n 3 ) time, where n is the number of nodes =-=[15, 21]-=-. 2. PE: a data structure with potentialsedges. This data structure is computed in a preprocessing phase. It is a matrix of the same form as the adjacency matrix, but with each entry being a list of p... |

36 |
Amortized efficiency of a path retrieval data structure
- Italiano
- 1986
(Show Context)
Citation Context ...ly. The insert operation returns a list of all edges that have been added, represented as node pairs. Initialization and maintenance of ITC can be done in O(n 3 ) time, where n is the number of nodes =-=[15, 21]-=-. 2. PE: a data structure with potentialsedges. This data structure is computed in a preprocessing phase. It is a matrix of the same form as the adjacency matrix, but with each entry being a list of p... |

35 | A Semantics of Object Types
- Abadi, Cardelli
(Show Context)
Citation Context ...g, and the most powerful one has both recursive types and subtyping. The latter can type many intriguing object-oriented programs, including objects whose methods return an updated self [2], see also =-=[4, 3, 1]. Ope-=-n until now is the question of type inference: Given an untyped program a, is a typable? If so, annotate it. In the presence of subtyping "the absence of minimum typings poses practical problems ... |

34 |
Subtype inequalities
- Tiuryn
- 1992
(Show Context)
Citation Context ...l in 1984 [19] who showed that type inference is computable in NEXPTIME in the size of the program. If (\Sigma; ) is a disjoint union of lattices, then type inference is computable in polynomial time =-=[23]. Moreover-=-, if (\Sigma; ) is "tree-like", then type inference is computable in polynomial time [6]. In general, the type inference problem is PSPACE - hard [14, 23]. Type inference with atomic subtypi... |

32 |
Polymorphic subtype inference: Closing the theory-practice gap
- Fuh, Mishra
- 1989
(Show Context)
Citation Context ... is computable in polynomial time [6]. In general, the type inference problem is PSPACE - hard [14, 23]. Type inference with atomic subtyping has also been studied in combination with ML polymorphism =-=[10, 11]-=-. Objects do not have base types, so type inference with atomic subtyping does not apply to Abadi and Cardelli's calculus. The object types considered in this paper are rather like record types. Type ... |

32 |
Lehrmann Madsen and Birger Møller-Pedersen. Virtual Classes: A powerful mechanism for object-oriented programming
- Ole
- 1989
(Show Context)
Citation Context ...the components does not matter. In a method ς(x)b, we have that x is the self variable and b is the body. Thus, in the body of a method we can refer to any enclosing object, like in the Beta language =-=[18]-=-. The reduction rules for ς-terms are as follows. If o ≡ [li = ς(xi)b i∈1..n i then, for j ∈ 1..n, • o.lj ❀ bj[o/xj] • o.lj ⇐ ς(y)b ❀ o[lj ← ς(y)b] Here, a[o/x] denotes the ς-term a with o substituted... |

30 |
Lower bounds on type inference with subtypes
- Hoang, Mitchell
- 1995
(Show Context)
Citation Context ...erence is computable in polynomial time [23]. Moreover, if (\Sigma; ) is "tree-like", then type inference is computable in polynomial time [6]. In general, the type inference problem is PSPA=-=CE - hard [14, 23]-=-. Type inference with atomic subtyping has also been studied in combination with ML polymorphism [10, 11]. Objects do not have base types, so type inference with atomic subtyping does not apply to Aba... |

30 |
and Vijaya Ramachandran. Parallel algorithms for shared-memory machines
- Karp
- 1990
(Show Context)
Citation Context ...h predecessor n 0 and out-edges n 1 ; n 2 , then a(n 1 ) = a(n 0 ) and a(n 2 ) = a(n 0 ); and 5. if n is the output gate with predecessor n 0 , then a(n) = a(n 0 ). The monotone circuit value problem =-=[16]-=- is the problem of deciding, given a monotone circuit G and an assignment a to the input gates of G, whether a(n) = true for the output gate n. It is P-complete under log-space reductions [16]. We wil... |

29 | A Theory of Primitive Objects
- Abadi, Cardelli
- 1995
(Show Context)
Citation Context ...u Laboratory for Computer Science Massachusetts Institute of Technology NE43-340 545 Technology Square Cambridge, MA 02139 Abstract Abadi and Cardelli have recently investigated a calculus of objects =-=[2]-=-. The calculus supports a key feature of object-oriented languages: an object can be emulated by another object that has more refined methods. Abadi and Cardelli presented four first-order type system... |

15 |
Efficient type reconstruction in the presence of inheritance
- Benke
- 1993
(Show Context)
Citation Context ... If (\Sigma; ) is a disjoint union of lattices, then type inference is computable in polynomial time [23]. Moreover, if (\Sigma; ) is "tree-like", then type inference is computable in polyno=-=mial time [6]-=-. In general, the type inference problem is PSPACE - hard [14, 23]. Type inference with atomic subtyping has also been studied in combination with ML polymorphism [10, 11]. Objects do not have base ty... |

14 |
Ole Lehrmann Madsen, Birger M��ller-Pedersen, and Kristen Nygaard. The BETA programming language
- Kristensen
- 1987
(Show Context)
Citation Context ...the components does not matter. In a method &(x)b, we have that x is the self variable and b is the body. Thus, in the body of a method we can refer to any enclosing object, like in the Beta language =-=[18]-=-. The reduction rules for &-terms are as follows. If o j [l i = &(x i )b i21::n i ], then, for j 2 1::n, ffl o:l j ; b j [o=x j ] ffl o:l j ( &(y)b ; o[l j / &(y)b] Here, a[o=x] denotes the &-term a w... |

10 |
The complexity of nite functions
- Boppana, Sipser
- 1990
(Show Context)
Citation Context ...V ′ → V ′′ into V =[l:V ′ r:V ′′], and translating V = C into V =[].Thus, nding nite solutions to a SAC-system is P-hard. We then consider nding arbitrary solutions to SAC-systems. A monotone circuit =-=[7]-=- is a directed acyclic graph G whose nodes, called gates, are of ve di erent kinds: 1. input gates with no in-edge and one out-edge; 2. and-gates with two in-edges and one out-edge; 3. or-gates with t... |

9 | A theory of primitive objects: Untyped and rst-order systems - Abadi, Cardelli - 1994 |

8 | Typechecking records and variants in a natural extension of ML - R��my - 1989 |

6 | Fast left-linear semi-unification
- Henglein
- 1990
(Show Context)
Citation Context ...tion of the monotone circuit value problem to the problem of finding arbitrary solutions to SAC-graphs. The construction is adapted from Henglein's proof of P-hardness of left-linear semi-unification =-=[13]-=-. That proof, in turn, is adapted from Dwork, Kanellakis, and Mitchell's proof of P-hardness of unification [8]. Given a monotone circuit and an assignment to input gates, we construct an SAC-graph as... |

5 | On the sequential nature of unication - Dwork, Kanellakis, et al. - 1984 |

4 |
Simple Type Inference and Unification
- Henglein
- 1988
(Show Context)
Citation Context ...uit value problem, respectively, as explained in the following. We first consider finding finite solutions to SAC-systems. Simple type inference for -calculus is P-complete under log space reductions =-=[12]-=-. It is log space equivalent to finding finite solutions to a finite set of equations of the forms V = V 0 ! V 00 or V = C, where V; V 0 ; V 00 are variables, and C is a constant. Variables range over... |

4 | Maintenance of transitive closure and transitive reduction of graphs - Poutr', L, et al. - 1988 |

4 |
On the Sequential Nature of Uni cation
- Dwork, Kanellakis, et al.
- 1984
(Show Context)
Citation Context ...nstruction is adapted from Henglein's proof of P-hardness of left-linear semi-uni cation [13]. That proof, in turn, is adapted from Dwork, Kanellakis, and Mitchell's proof of P-hardness of uni cation =-=[8]-=-. Given a monotone circuit and an assignment to input gates, we construct an SAC-graph as follows. Each gate in the circuit yields a small gadget consisting of a few nodes and edges. Each gadget has a... |

2 |
Fast left-linear semi-uni cation
- Henglein
- 1990
(Show Context)
Citation Context ...duction of the monotone circuit value problem to the problem of nding arbitrary solutions to SAC-graphs. The construction is adapted from Henglein's proof of P-hardness of left-linear semi-uni cation =-=[13]-=-. That proof, in turn, is adapted from Dwork, Kanellakis, and Mitchell's proof of P-hardness of uni cation [8]. Given a monotone circuit and an assignment to input gates, we construct an SAC-graph as ... |

2 |
Amortized e ciency of a path retrieval data structure
- Italiano
- 1986
(Show Context)
Citation Context ... The insert 19operation returns a list of all edges that have been added, represented as node pairs. Initialization and maintenance of ITC can be done in O(n 3 ) time, where n is the number of nodes =-=[15, 21]-=-. 2. PE: a data structure with potential ≤ edges. This data structure is computed in a preprocessing phase. It is a matrix of the same form as the adjacency matrix, but with each entry being a list of... |

1 | Simple type inference and unication - Henglein - 1988 |

1 | Fast left-linear semi-unication - Henglein - 1990 |

1 | Amortized eOEciency of a path retrieval data structure - Italiano - 1986 |

1 |
Simple type inference and uni cation
- Henglein
- 1988
(Show Context)
Citation Context ...rcuit value problem, respectively, as explained in the following. 22We rst consider nding nite solutions to SAC-systems. Simple type inference for λ-calculus is P-complete under log space reductions =-=[12]-=-. It is log space equivalent to nding nite solutions to a nite set of equations of the forms V = V ′ → V ′′ or V = C, where V,V ′ ,V ′′ are variables, and C is a constant. Variables range over the set... |