## Subtyping Recursive Types in Kernel Fun (1999)

### Cached

### Download Links

- [tql.di.unipi.it]
- [ftp.di.unipi.it]
- [www.di.unipi.it]
- DBLP

### Other Repositories/Bibliography

Venue: | In IEEE Symposium on Logic in Computer Science (LICS |

Citations: | 6 - 1 self |

### BibTeX

@INPROCEEDINGS{Colazzo99subtypingrecursive,

author = {Dario Colazzo and Giorgio Ghelli},

title = {Subtyping Recursive Types in Kernel Fun},

booktitle = {In IEEE Symposium on Logic in Computer Science (LICS},

year = {1999},

pages = {137--146}

}

### OpenURL

### Abstract

The problem of defining and checking a subtype relation between recursive types was studied in [3] for a first order type system, but for second order systems, which combine subtyping and parametric polymorphism, only negative results are known [17].

### Citations

924 | A theory of objects
- Abadi, Cardelli
- 1996
(Show Context)
Citation Context ...ubtypes of a given type. Languages of the Fun family, with their extensions, are the main foundational tool used to model object-oriented languages with expressive and strong types (see, for example, =-=[1, 5, 13, 14, 16, 22]-=-). Although most current languages are based on some variant of type comparison by name, the structural approach to type comparison which has been pursued by the type-theoretical community has many ad... |

788 | On understanding types, data abstraction and polymorphism
- Cardelli, Wegner
- 1985
(Show Context)
Citation Context ...und in [3]. In this paper we study the integration of strong recursion in a second order type system with subtyping. To this aim we refer to system kernel Fun, an abstract version of the language Fun =-=[9]-=-, a language which combines subtyping with parametric polymorphism, and which allows the definition of bounded quantified types, i.e. polymorphic types whose quantifier ranges over a set of subtypes o... |

506 | A Semantics of Multiple Inheritance - Cardelli - 1988 |

314 | Subtyping recursive types
- Amadio, Cardelli
- 1993
(Show Context)
Citation Context ...i Dipartimento d'Informatica Corso Italia 40, Pisa, ITALY e-mail: fghelli, colazzog@di.unipi.it Abstract The problem of defining and checking a subtype relation between recursive types was studied in =-=[3]-=- for a first order type system, but for second order systems, which combine subtyping and parametric polymorphism, only negative results are known [17]. This paper studies the problem of subtype check... |

273 |
Semantics of Programming Languages: Structures and Techniques
- Gunter
- 1992
(Show Context)
Citation Context ...een studied in the literature. Given a recursive definition let rec X = T [X ], the strong (or equality based) approach makes X equal to T [X ] ([26, 3]), while the weak (isomorphism based) approach (=-=[20, 21]-=-) only gives the programmer a couple of functions fold T [X] : T [X ] ! X and unfold T [X] : 1 Proceedings of the 14 th Annual IEEE Symposium on Logic in Computer Science (LICS), Trento, Italy, 1999, ... |

251 | Inheritance is not subtyping - Cook, Hill, et al. - 1990 |

208 | Design patterns: Abstraction and reuse of object-oriented design - Gamma, Helm, et al. - 1993 |

169 | A lambda-calculus of objects and method specialization - Fisher, Honsell, et al. - 1994 |

141 | PolyTOIL: a type-safe polymorphic object-oriented language - Bruce, Schuett, et al. - 1995 |

128 | An Ideal Model for Recursive Polymorphic Types - MacQueen, Plotkin, et al. - 1986 |

127 | Comparing object encodings, in
- Bruce, Cardelli, et al.
- 1997
(Show Context)
Citation Context ...ubtypes of a given type. Languages of the Fun family, with their extensions, are the main foundational tool used to model object-oriented languages with expressive and strong types (see, for example, =-=[1, 5, 13, 14, 16, 22]-=-). Although most current languages are based on some variant of type comparison by name, the structural approach to type comparison which has been pursued by the type-theoretical community has many ad... |

121 | A paradigmatic object-oriented programming language: design, static typing and semantics - Bruce - 1994 |

115 | An extension of system F with subtyping
- Cardelli, Martini, et al.
- 1991
(Show Context)
Citation Context ...e kernel Fun 2.1 Syntax We only present here the kernel Fun types, since the type rules for terms are not affected by the introduction of recursion; for a more complete introduction to the system see =-=[9, -=-15, 12, 8]). Types T ::= > j t j X j X:8t T:T j X:T ! T Pre-Judgements P ::= B Env j B T Type j B T T Judgements J ::= ` Env j ` T Type j ` T T Bi-Environments ::= () j ; (t; t 0 ) (T; T 0 ) j ... |

102 | Bounded quantification is undecidable
- Pierce
- 1994
(Show Context)
Citation Context ... attempt to extend system F [15] with recursive types leads to the definition of a non conservative extension of the system. This problem is strictly related to the undecidability of subtyping in F [2=-=7, 18]-=-. Other papers where second order recursive types are studied don't deal with the subtype checking problem in much depth. In [5], a recursive extension of system F ! [6, 7] is defined, but only as a t... |

93 | Maturation of the Therapeutic Community - Jones - 1976 |

89 | Towards a typed foundation for method specialisation and inheritance - Mitchell - 1990 |

87 | A modest model of records, inheritance and bounded quantification - Bruce, Longo - 1990 |

67 | Interfaces for strongly-typed object-oriented programming - Canning, Cook, et al. - 1989 |

66 | Coinductive axiomatization of recursive type equality and subtyping
- Brandt, Henglein
- 1998
(Show Context)
Citation Context ...ound in [3], where a natural subtype relation over recursive types is defined, and a sound and complete subtyping algorithm is presented. In [25] a more efficient subtyping algorithm is described. In =-=[4]-=- another possible axiomatization of the subtype relation between first order recursive types is presented, which is equivalent to the one defined in [3]. Our axiomatization of inclusion between second... |

64 | A semantic basis for Quest
- Cardelli, Longo
- 1991
(Show Context)
Citation Context ...bility of subtyping in F [27, 18]. Other papers where second order recursive types are studied don't deal with the subtype checking problem in much depth. In [5], a recursive extension of system F ! [=-=6, 7]-=- is defined, but only as a tool to compare different models of object-oriented languages. Hence, that paper doesn't consider the algorithmical aspects of the subtyping problem, and the defined system ... |

61 |
Coherence of subsumption, minimum typing and the type checking
- Curien, Ghelli
- 1992
(Show Context)
Citation Context ...e kernel Fun 2.1 Syntax We only present here the kernel Fun types, since the type rules for terms are not affected by the introduction of recursion; for a more complete introduction to the system see =-=[9, -=-15, 12, 8]). Types T ::= > j t j X j X:8t T:T j X:T ! T Pre-Judgements P ::= B Env j B T Type j B T T Judgements J ::= ` Env j ` T Type j ` T T Bi-Environments ::= () j ; (t; t 0 ) (T; T 0 ) j ... |

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

52 | Type theories and objectoriented programming
- Danforth, Tomlinson
- 1988
(Show Context)
Citation Context ...ubtypes of a given type. Languages of the Fun family, with their extensions, are the main foundational tool used to model object-oriented languages with expressive and strong types (see, for example, =-=[1, 5, 13, 14, 16, 22]-=-). Although most current languages are based on some variant of type comparison by name, the structural approach to type comparison which has been pursued by the type-theoretical community has many ad... |

51 | Efficient recursive subtyping - Kozen, Palsberg, et al. - 1995 |

46 | Fibonacci: A Programming Language for Object Databases - Albano, Ghelli, et al. - 1995 |

41 | The metric space of infinite trees. algebraic and topological properties - Arnold, Nivat - 1980 |

39 |
Proof Theoretic Studies about a Minimal Type System Integrating Inclusion and Parametric Polymorphism
- Ghelli
- 1990
(Show Context)
Citation Context ...nce between the two approaches is proved. Regarding the problem of subtyping recursive types in second order systems, an important (negative) result was given in [17]: any attempt to extend system F [=-=15-=-] with recursive types leads to the definition of a non conservative extension of the system. This problem is strictly related to the undecidability of subtyping in F [27, 18]. Other papers where seco... |

38 | Cyclic lambda calculi - Ariola, Blom - 1997 |

38 | A unifying type-theoretic framework for objects - Hofmann, Pierce - 1995 |

35 |
Relational semantics for recursive types and bounded quantification
- Cardone
- 1989
(Show Context)
Citation Context ...er the algorithmical aspects of the subtyping problem, and the defined system is far less powerful than our extension of the [3] system. The extension of kernel Fun with recursive types is studied in =-=[10]-=- from a semantical point of view and it is proved that extending the system with recursive types is consistent. A different strand of research deals with a notion of subtyping where an instance of a p... |

32 | Syntactic considerations on recursive types
- Abadi, Fiore
- 1996
(Show Context)
Citation Context ...ve types is presented, which is equivalent to the one defined in [3]. Our axiomatization of inclusion between second order recursive types is more similar to the one in [4] than to the one in [3]. In =-=[2]-=-, first order recursive types are studied from a syntactic perspective and the two possible approaches to recursion, equality-based and isomorphism-based, are compared. In particular the equivalence b... |

32 | The Development of Type Systems for Object-Oriented Languages. Theory and Practice of Object System
- Fischer, Mitchell
- 1995
(Show Context)
Citation Context |

32 | Notes on typed object-oriented programming - Fisher, Mitchell - 1994 |

23 | The equivalence of two semantic definitions for inheritance in object-oriented languages - Bruce - 1991 |

22 |
Ecient recursive subtyping
- Kozen, Palsberg, et al.
- 1993
(Show Context)
Citation Context ...e problem of subtyping first-order recursive types can be found in [3], where a natural subtype relation over recursive types is defined, and a sound and complete subtyping algorithm is presented. In =-=[25]-=- a more efficient subtyping algorithm is described. In [4] another possible axiomatization of the subtype relation between first order recursive types is presented, which is equivalent to the one defi... |

21 |
Notes about F≤', unpublished manuscript
- Cardelli
- 1990
(Show Context)
Citation Context ...bility of subtyping in F [27, 18]. Other papers where second order recursive types are studied don't deal with the subtype checking problem in much depth. In [5], a recursive extension of system F ! [=-=6, 7]-=- is defined, but only as a tool to compare different models of object-oriented languages. Hence, that paper doesn't consider the algorithmical aspects of the subtyping problem, and the defined system ... |

20 |
The subtyping problem for second-order types is undecidable
- Tiuryn, Urzyczyn
- 1996
(Show Context)
Citation Context ...ping where an instance of a polymorphic type is a supertype of the type itself. In such a system, the subtyping problem for second order languages is undecidable even when quantification is unbounded =-=[28]-=-. We do not comment on papers in this family since their results and techniques cannot be applied to subtyping for languages in the Fun family. 1.3 Structure of the paper The paper is organized as fol... |

17 |
Recursive types are not conservative over F
- Ghelli
- 1993
(Show Context)
Citation Context ...e relation between recursive types was studied in [3] for a first order type system, but for second order systems, which combine subtyping and parametric polymorphism, only negative results are known =-=[17-=-]. This paper studies the problem of subtype checking for recursive types in system kernel Fun, a typed -calculus with subtyping and bounded second order polymorphism. Along the lines of [3], we study... |

17 |
editors. Theoretical Aspects of ObjectOriented
- Gunter, Mitchell
- 1994
(Show Context)
Citation Context |

14 | Divergence of F≤ type checking
- Ghelli
- 1995
(Show Context)
Citation Context ... attempt to extend system F [15] with recursive types leads to the definition of a non conservative extension of the system. This problem is strictly related to the undecidability of subtyping in F [2=-=7, 18]-=-. Other papers where second order recursive types are studied don't deal with the subtype checking problem in much depth. In [5], a recursive extension of system F ! [6, 7] is defined, but only as a t... |

14 | Completely bounded quantification is decidable - Katiyar, Sankar - 1992 |

13 | Application of OOP type theory: State, decidability, integration - Eifrig, Smith, et al. - 1994 |

11 |
Modelling features of object-oriented languages in secondorder functional languages with subtypes
- Ghelli
- 1990
(Show Context)
Citation Context |

11 | the Hopkins Objects Group (Jonathan Eifrig - Bruce, Cardelli, et al. - 1996 |

9 | A kernel language for object-oriented programming - Canning, Hill, et al. - 1988 |

6 |
System Programming in Modula-3
- Nelson
- 1991
(Show Context)
Citation Context ...ern. Two different approaches to recursive types have been studied in the literature. Given a recursive definition let rec X = T [X ], the strong (or equality based) approach makes X equal to T [X ] (=-=[26, 3]-=-), while the weak (isomorphism based) approach ([20, 21]) only gives the programmer a couple of functions fold T [X] : T [X ] ! X and unfold T [X] : 1 Proceedings of the 14 th Annual IEEE Symposium on... |

4 |
Complexity of kernel Fun subtype checking
- Ghelli
- 1996
(Show Context)
Citation Context ...ss to similarity, but stop execution only when a similar pair is met for the third time. In this work we do not study the complexity of our algorithm. We know that it may have an exponential behavior =-=[19]-=-, and we suspect it may be made polynomial, but in this paper this will remain an open issue. 1.2 Related work A complete study of the problem of subtyping first-order recursive types can be found in ... |

4 | Inheritance as implicit coercion. Information and Computation 93:172–221 - Breazu-Tannen, Coquand, et al. - 1991 |

2 | Recursive types for Fun - Cardone - 1991 |

2 | Sound polymorphic type inference for objects, OOPSLA'95 - Eifrig, Smith, et al. - 1995 |