| T. Jim and J. Palsberg. Type inference in systems of recursive types with subtyping. http: //www.cs.purdue.edu/homes/palsberg/, 1999. |
....April 7, 2003, 11:02pm for submission to LICS 2003 erties, used both in type systems and program analyses. The study of subtyping constraints is therefore important for developing techniques that increase the reliability of programs. Subtyping was introduced through the subsumption rule in [29] [4, 24, 21] treat subtyping in the presence of recursive types. 49] shows that terms typable in a system with structural subtyping denote terminating computations. 12] treats intersection types in ML in the presence of computational effects. 15] presents an extension of ML that allows a more precise ....
T. Jim and J. Palsberg. Type inference in systems of recursive types with subtyping. http: //www.cs.purdue.edu/homes/palsberg/, 1999.
....analysis technique (constraints or dataflow) and the type system (dynamic or static; explicit or inferred) We discuss each of these dimensions in turn before discussing the most closely related papers in greater detail. Analysis. Two basic approaches to type inference are constraint resolution [2, 9, 15, 26] and abstract interpretation [24] Constraint resolution builds a set of constraints (such as equalities or inequalities) from the problem domain (the program text) then hands the constraints off to a resolution system that returns either a simplified set of constraints or a specific solution (if ....
....procedure call of the appropriate overriding implementation of the method. Likewise, if all run time types that reach a check satisfy the check, then the check can be removed. Polymorphism variety. Polymorphism occurs in both parametric (functional) and data varieties. Parametric polymorphism [22, 14 7, 21, 1, 2, 15, 26] refers to the ability of procedures to operate on arguments of arbitrary types, without caring what the specific type is; for example, length : list # int) Data polymorphism [9, 23] is the ability to store objects of different types in a variable or field. It is enabled by object oriented ....
[Article contains additional citation context not shown here]
T. Jim and J. Palsberg. Type inference in systems of recursive types with subtyping, 1999. http://www.cs.purdue.edu/homes/palsberg/.
..... 47 7.5 Recursive Feature Trees . 48 7. 6 Reversed Binary Tree with Prefix Closed Sets 48 8 Conclusion 49 1 Introduction Subtyping constraints are an important technique for checking and inferring program properties, used both in type systems and program analyses [34, 16, 13, 28, 23, 4, 3, 1, 2, 20, 41, 17, 54, 7, 8, 5, 42, 47, 19]. This paper presents a decision procedure for the firstorder theory of structural subtyping of non recursive types. This result solves (for the case of non recursive types) a problem left open in [48] 48] provides the decidability result for structural subtyping of only unary type ....
Trevor Jim and Jens Palsberg. Type inference in systems of recursive types with subtyping. http://www. cs.purdue.edu/homes/palsberg/, 1999. 1
..... 47 7.5 Recursive Feature Trees . 47 7. 6 Reversed Binary Tree with Pre x Closed Sets 48 8 Conclusion 48 1 Introduction Subtyping constraints are an important technique for checking and inferring program properties, used both in type systems and program analyses [34, 16, 13, 28, 23, 4, 3, 1, 2, 20, 41, 17, 54, 7, 8, 5, 42, 47, 19]. This paper presents a decision procedure for the rstorder theory of structural subtyping of non recursive types. This result solves (for the case of non recursive types) a problem left open in [48] 48] provides the decidability result for structural subtyping of only unary type constructors, ....
Trevor Jim and Jens Palsberg. Type inference in systems of recursive types with subtyping. http://www. cs.purdue.edu/homes/palsberg/, 1999.
....that the reader is already familiar with some of the relevant intuitions. On the other hand, Amadio and Cardelli s original paper, while complete, is also quite complex and, in some technical respects, beginning to be slightly dated. More efficient subtyping algorithms are now known (e.g. [KPS93, BH97, JP99]) Also, it is now widely agreed that framing definitions and proofs in terms of coinduction (rather than limits of sequences of approximations) substantially simplifies both intuitions and formalities. Our purpose in this tutorial is not to announce new results, but rather to formulate known ....
....automata, gives an overall quadratic complexity for the subtyping algorithm. Hosoya, Vouillon, and Pierce [HVP00] use a related automata theoretic approach, associating recursive types (with unions) to tree automata in a subtyping algorithm tuned to XML processing applications. Jim and Palsberg [JP99] address type inference for languages with subtyping and recursive types. Like us, they adopt a coinductive view of the subtype relation over infinite trees and motivate a subtype checking algorithm as a procedure building the minimal simulation (i.e. dense set, in our terminology) from a given ....
Trevor Jim and Jens Palsberg. Type inference in systems of recursive types with subtyping. Manuscript, 1999.
....need to be the same; all that is needed is that the usage of the argument is at least that of the partial application. The constraint may look back to front; we will explain the polarity of our subtyping relationship in Section 5.1. Constrained polymorphism has been moderately well studied [TS96, OSW98, PS96, JP99], and it is certainly more expressive than simple polymorphism (the simplest type on which they di#er is that of plus3; see Section 6.3) However, the practical costs are heavy. Types become (much) larger, because there are typically many more quantified variables, together with many constraints ....
....becomes equivalent to constrained polymorphism [PS96] and this latter setting seems more natural for many problems. Trifonov and Smith s [TS96] is a key paper dealing with the theory of subtyping in this context. Much work has also been done on the type inference problem for these systems [JP99]; in practice this reduces to the problem of constraint simplification [AWP97, Pot98, FF99, MW97, FM90] Our subtype ordering is purely structural, making simplification significantly easier than the general case. Constraint simplification attempts to find a minimal description of a given type. ....
Trevor Jim and Jens Palsberg. Type inference in systems of recursive types with subtyping. Available http://www.cs.purdue.edu/homes/ palsberg/publications.html, June 1999.
....need to be the same; all that is needed is that the usage of the argument is at least that of the partial application. The constraint may look back to front; we will explain the polarity of our subtyping relationship in Section 5.1. Constrained polymorphism has been moderately well studied [TS96, OSW98, PS96, JP99], and it is certainly more expressive than simple polymorphism (the simplest type on which they di er is that of plus3; see Section 6.3) However, the practical costs are heavy. Types become (much) larger, because there are typically many more quanti ed variables, together with many constraints ....
....becomes equivalent to constrained polymorphism [PS96] and this latter setting seems more natural for many problems. Trifonov and Scott s [TS96] is a key paper dealing with the theory of subtyping in this context. Much work has also been done on the type inference problem for these systems [JP99]; in practice this reduces to the problem of constraint simpli cation [AWP97, Pot98, FF99, MW97, FM90] Our subtype ordering is purely structural, making simpli cation signi cantly easier than the general case. Constraint simpli cation attempts to nd a minimal description of a given type. We go ....
Trevor Jim and Jens Palsberg. Type inference in systems of recursive types with subtyping. Available http://www.cs.purdue.edu/homes/ palsberg/publications.html, June 1999.
....that the reader is already familiar with some of the relevant intuitions. On the other hand, Amadio and Cardelli s original paper, while complete, is also quite complex and, in some technical respects, beginning to be slightly dated. More efficient subtyping algorithms are now known (e.g. [13, 5, 12]) Also, it is now widely agreed that framing definitions and proofs in terms of coinduction (rather than limits of sequences of approximations) substantially simplifies both intuitions and formalities. Our purpose in this tutorial is not to announce new results, but rather to formulate known ....
....to automata, gives an overall quadratic complexity for the subtyping algorithm. Hosoya, Vouillon, and Pierce [11] use a related automata theoretic approach, associating recursive types (with unions) to tree automata in a subtyping algorithm tuned to XML processing applications. Jim and Palsberg [12] address type inference for languages with subtyping and recursive types. Like us, they adopt a coinductive view of the subtype relation over infinite trees and motivate a subtype checking algorithm as a procedure building the minimal simulation (i.e. consistent set, in our terminology) from a ....
T. Jim and J. Palsberg. Type inference in systems of recursive types with subtyping. Manuscript, 1999.
....ours would be the first one which offers the sound embedding of functional subtyping with constant data domains into subtyping in name passing. Vast literature exists on the subtyping of sequential calculi, where diverse notions are studied from both syntactic and semantic viewpoints, cf. e.g. [5, 7, 25, 3, 15, 1]. Among them, the difference between typed input and untyped input underlies the semantic treatment of subtyping using universal domains and partial equivalence relations [7] From this viewpoint, a key contribution of the present work lies in the use of this distinction in the behavioural theory ....
....In this section we show how a basic notion of subtyping in calculus can be soundly represented in the present theory, using the simple subsorting presented in Section 4. 5.1. Functional Subtyping: Types. We use the standard arrow types with recursion without or for our typed calculus, cf. [3, 15]. Assume given a countable set of type variables, ranged over by x; y; Then the set of ; types, or often simply types if there is no confusion, ranged over by ff; fi; and are given by the following grammar. ff : d j x j ff fi j x: ff fi : The binding etc. is standard [3] We ....
[Article contains additional citation context not shown here]
Trevor Jim and Palsberg, J., Type Inference in Systems of Recursive Types with Subtyping, July 1997. Avairable from: http://www.cis.upenn.edu/~tjim/papers.html.
....focuses on non recursive types [7, 10, 14, 18 21, 23] In this paper, we consider equivalence of recursive types. Equality and subtyping of recursive types have been studied in the 1990s by Amadio and Cardelli [1] Kozen, Palsberg, and Schwartzbach [13] Brandt and Henglein [6] Jim and Palsberg [12]; and others. These papers concentrate on the case where two types are considered equal if their infinite unfoldings are identical. In this case, type equivalence can be decided in O(n (n) time. If we allow a product type constructor to be associative and Palsberg was supported by an NSF CAREER ....
Trevor Jim and Jens Palsberg. Type inference in systems of recursive types with subtyping. Manuscript, 1997.
....useful for such languages, a exible notion of type equality should be able to handle recursive types. The Problem. Equality and subtyping of recursive types have been studied in the 1990s by Amadio and Cardelli [1] Kozen, Palsberg, and Schwartzbach [17] Brandt and Henglein [7] Jim and Palsberg [15]; and others. These papers concentrate on the case where two types are considered equal if their in nite unfoldings are identical. Type equality can be decided in O(n (n) time, and a notion of subtyping de ned by Amadio and Cardelli [1] can be decided in O(n 2 ) time [17] If we allow a ....
....a pair of product types. Notice that such an algorithm would not work for recursive types; it would not terminate. Equality and subtyping of recursive types have been studied in the 1990s by Amadio and Cardelli [1] Kozen, Palsberg, and Schwartzbach [17] Brandt and Henglein [7] Jim and Palsberg [15]; and others. These papers concentrate on the case where two types are considered equal if and only if their in nite unfoldings are identical. This can be formalized using bisimulation [15, 22] Sound and complete axiomatizations have been presented by Amadio and Cardelli [1] and Brandt and ....
[Article contains additional citation context not shown here]
Trevor Jim and Jens Palsberg. Type inference in systems of recursive types with subtyping. Manuscript, 1997.
....for such languages, a exible notion of type equality should be able to handle recursive types. The Problem. Equality and subtyping of recursive types have been studied in the 1990s by Amadio and Cardelli [1] Kozen, Palsberg, and Schwartzbach [19] Brandt and Henglein [7] Jim and Palsberg [17]; and others. These papers concentrate on the case where two types are considered equal if their in nite unfoldings are identical. Type equality can be decided in O(n (n) time, and a notion of subtyping de ned by Amadio and Cardelli [1] can be decided in O(n 2 ) time [19] If we allow a ....
....(Fold Unfold) 1 = 1 = 2 = 2 = 1 = 2 ( contractive in ) Contract) Figure 4: Classical axiomatization of recursive type equality. 15 types [8, 11, 21, 25, 29] while the equality and subtyping problems of recursive types without isomorphism are well understood [1, 7, 17, 19]. 4.1 Isomorphism of types In [25] types A; B are isomorphic if there is a function f of type A ) B and a function g of type B ) A, such that xA :g(fx) xA :x and yB :f(gy) yB :y, where f; g are functions in typed calculus with surjective pairing and terminal object T. Bruce, Di ....
T. Jim and J. Palsberg. Type inference in systems of recursive types with subtyping. Manuscript, 1997.
....for such languages, a flexible notion of type equality should be able to handle recursive types. The Problem. Equality and subtyping of recursive types have been studied in the 1990s by Amadio and Cardelli [1] Kozen, Palsberg, and Schwartzbach [19] Brandt and Henglein [7] Jim and Palsberg [17]; and others. These papers concentrate on the case where two types are considered equal if their infinite unfoldings are identical. Type equality can be decided in O(nff(n) time, and a notion of subtyping defined by Amadio and Cardelli [1] can be decided in O(n 2 ) time [19] If we allow a ....
....=ff] Fold Unfold) 1 = 1 =ff] 2 = 2 =ff] 1 = 2 ( contractive in ff) Contract) Figure 4: Classical axiomatization of recursive type equality. 15 types [8, 11, 21, 25, 29] while the equality and subtyping problems of recursive types without isomorphism are well understood [1, 7, 17, 19]. 4.1 Isomorphism of types In [25] types A; B are isomorphic if there is a function f of type A ) B and a function g of type B ) A, such that xA :g(fx) xA :x and yB :f(gy) yB :y, where f; g are functions in typed fij calculus with surjective pairing and terminal object T. Bruce, Di Cosmo ....
T. Jim and J. Palsberg. Type inference in systems of recursive types with subtyping. Manuscript, 1997.
No context found.
T. Jim and J. Palsberg. Type inference in systems of recursive types with subtyping. http: //www.cs.purdue.edu/homes/palsberg/, 1999.
No context found.
Trevor Jim and Jens Palsberg. Type inference in systems of recursive types with subtyping. Manuscript, available at http://www.cs.purdue.edu/homes/palsberg/publications.html, 1999.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC