Filters








1,782 Hits in 4.2 sec

Finite subtype inference with explicit polymorphism

Dominic Duggan
2001 Science of Computer Programming  
Some motivation for this work, particularly for ÿnite types and explicit polymorphism, is in providing subtype inference for ÿrst-class container objects with polymorphic methods.  ...  Finite subtype inference occupies a middle ground between Hindley-Milner-type inference (as in ML) and subtype inference with recursively constrained types.  ...  In this paper we extend subtype inference with constraint-solving under a mixed preÿx, in order to support subtype inference with explicit polymorphism.  ... 
doi:10.1016/s0167-6423(00)00013-7 fatcat:zamhva55bzhovdkst7jnf4assy

Page 9235 of Mathematical Reviews Vol. , Issue 2001M [page]

2001 Mathematical Reviews  
Some motivation for this work, particularly for finite types and explicit polymorphism, is in providing subtype inference for first-class container objects with polymorphic methods.” 2001m:68020 68N15  ...  See also *90002, 90020, 90022, 90035, 90037, 90038, 90040, 90046, 94046. 68N Software 2001m:68019 68N15 68NI8 Duggan, Dominic (1-STIT-CS; Hoboken, NJ) Finite subtype inference with explicit polymorphism  ... 

Polymorphism, subtyping, and type inference in MLsub

Stephen Dolan, Alan Mycroft
2017 Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages - POPL 2017  
We present a type system combining subtyping and ML-style parametric polymorphism. Unlike previous work, our system supports type inference and has compact principal types.  ...  Principal types are kept compact by type simplification, which exploits deep connections between subtyping and the algebra of regular languages. An implementation is available online.  ...  Type Variables and Polymorphism However, combining Amadio and Cardelli's subtyping with polymorphism proved problematic.  ... 
doi:10.1145/3009837.3009882 fatcat:ps4tknkfkvfqrnyrfadohw5lcm

Global Type Inference for Featherweight Generic Java [article]

Andreas Stadelmeier and Martin Plümicke and Peter Thiemann
2022 arXiv   pre-print
Java's type system mostly relies on type checking augmented with local type inference to improve programmer convenience.  ...  Given generic class headers and field specifications, our inference algorithm infers all method types if classes do not make use of polymorphic recursion.  ...  The type system of PROTOS-L [2] was derived from TEL by disallowing any explicit subtype relationships between polymorphic type constructors.  ... 
arXiv:2205.08768v2 fatcat:jhdu4ld3kbb65mnxtxxd2qjkoe

Java Type Unification with Wildcards [chapter]

Martin Plümicke
2009 Lecture Notes in Computer Science  
We give a type unification algorithm, which calculates the finite set of general unifiers.  ...  The algorithm unifies type terms, which are in subtype relationship. For this we define Java 5.0 type terms and its subtyping relation, formally.  ...  The type system of PROTOS-L was derived from TEL by disallowing any explicite subtype relationship between polymorphic type constructors.  ... 
doi:10.1007/978-3-642-00675-3_15 fatcat:hnhw5dvntbdf3ifvrhqnrnliqm

Explicit Effect Subtyping [chapter]

Amr Hany Saleh, Georgios Karachalias, Matija Pretnar, Tom Schrijvers
2018 Lecture Notes in Computer Science  
It reifies appeals to subtyping in explicit casts with coercions that witness the subtyping proof, quickly exposing typing bugs in program transformations.  ...  To remedy this, we present an explicitly-typed polymorphic core calculus for algebraic effect handlers with a subtyping-based type-and-effect system.  ...  -Next, Sect. 4 presents ExEff, the core calculus, which combines explicit System F-style polymorphism with explicit coercions for subtyping in the style of Breazu-Tannen et al. [3] .  ... 
doi:10.1007/978-3-319-89884-1_12 fatcat:3oyq4seri5btflslc6whehp7gu

Taming wildcards in Java's type system

Ross Tate, Alan Leung, Sorin Lerner
2011 Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation - PLDI '11  
Furthermore, some Java types with wildcards have no joins, making inference of type arguments for generic methods particularly difficult.  ...  We present a simple algorithm for subtyping which is both sound and complete with our restrictions, an algorithm for lazily joining types with wildcards which addresses some of the shortcomings of prior  ...  This means that subtyping with wildcards is actually more powerful than traditional systems for subtyping with existential types because traditional systems only permit finite proofs.  ... 
doi:10.1145/1993498.1993570 dblp:conf/pldi/TateLL11 fatcat:gwdflnxi6be7zcj3sgflv4iv74

Taming wildcards in Java's type system

Ross Tate, Alan Leung, Sorin Lerner
2012 SIGPLAN notices  
Furthermore, some Java types with wildcards have no joins, making inference of type arguments for generic methods particularly difficult.  ...  We present a simple algorithm for subtyping which is both sound and complete with our restrictions, an algorithm for lazily joining types with wildcards which addresses some of the shortcomings of prior  ...  This means that subtyping with wildcards is actually more powerful than traditional systems for subtyping with existential types because traditional systems only permit finite proofs.  ... 
doi:10.1145/2345156.1993570 fatcat:kgy7hcgijvdiljhk2gyr2hbgaq

Taming wildcards in Java's type system

Ross Tate, Alan Leung, Sorin Lerner
2011 SIGPLAN notices  
Furthermore, some Java types with wildcards have no joins, making inference of type arguments for generic methods particularly difficult.  ...  We present a simple algorithm for subtyping which is both sound and complete with our restrictions, an algorithm for lazily joining types with wildcards which addresses some of the shortcomings of prior  ...  This means that subtyping with wildcards is actually more powerful than traditional systems for subtyping with existential types because traditional systems only permit finite proofs.  ... 
doi:10.1145/1993316.1993570 fatcat:fmtcaifkxfddplaqialf57gf6e

A compilation method for ML-style polymorphic record calculi

Atsushi Ohori
1992 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '92  
Moreover, the polymorphic type system is shown to be sound with respect to an operational semantics of the translated terms in the implementation calculus. * Appeared in Proc.  ...  Recent studies have established techniques to develop an ML-style type inference algorithm for such a polymorphic type system.  ...  One might want to develop a similar compilation algorithm for a polymorphic record calculus with subtyping.  ... 
doi:10.1145/143165.143200 dblp:conf/popl/Ohori92 fatcat:hzkyheuclzg4zjcgjfklg3z2xa

Parametric polymorphism for XML

Haruo Hosoya, Alain Frisch, Giuseppe Castagna
2005 Proceedings of the 32nd ACM SIGPLAN-SIGACT sysposium on Principles of programming languages - POPL '05  
We exploit this interpretation in every ingredient of our polymorphic type system such as subtyping, inference of type arguments, and so on.  ...  In this, we devise a novel and simple marking technique, where we interpret a polymorphic type as a set of values with annotations of which subparts are parameterized.  ...  The main part of a program is a set of (recursively defined) functions with an explicit declaration of argument types and a result type.  ... 
doi:10.1145/1040305.1040310 dblp:conf/popl/HosoyaFC05 fatcat:hd5l736zlvdwxgauj5qy37xigi

Parametric polymorphism for XML

Haruo Hosoya, Alain Frisch, Giuseppe Castagna
2005 SIGPLAN notices  
We exploit this interpretation in every ingredient of our polymorphic type system such as subtyping, inference of type arguments, and so on.  ...  In this, we devise a novel and simple marking technique, where we interpret a polymorphic type as a set of values with annotations of which subparts are parameterized.  ...  The main part of a program is a set of (recursively defined) functions with an explicit declaration of argument types and a result type.  ... 
doi:10.1145/1047659.1040310 fatcat:fuem3fmscjg7ddc6vyhkwm5rqi

Three discussions on object-oriented typing

Jens Palsberg, Michael I. Schwartzbach
1992 ACM SIGPLAN OOPS Messenger  
Finite sets of classes have also been suggested; in this context, which arises when closed programs are considered, subtyping is simply set inclusion.  ...  In languages with explicit, name based subtyping there need not be any type constructors at all; then all types must be given as constants-typically through class definitions.  ... 
doi:10.1145/130943.130949 fatcat:t7ddc234nzceljkzdxdoxmgvm4

Polymorphic recursion and subtype qualifications: Polymorphic binding-time analysis in polynomial time [chapter]

Dirk Dussart, Fritz Henglein, Christian Mossin
1995 Lecture Notes in Computer Science  
The combination of parameter polymorphism, subtyping extended to qualified and polymorphic types, and polymorphic recursion is useful in standard type inference and gives expressive type-based program  ...  In a program analysis context we show how Mycroft's iterative method of computing principal types for a type system with polymorphic recursion can be generalized and adapted to work in a setting with subtyping  ...  The salient feature of this inference system is that it combines polymorphic subtyping with polymorphic recursion.  ... 
doi:10.1007/3-540-60360-3_36 fatcat:pjeutkttwfbabclrqas4rgxii4

Parametric polymorphism for XML

Haruo Hosoya, Alain Frisch, Giuseppe Castagna
2009 ACM Transactions on Programming Languages and Systems  
We exploit this interpretation in every ingredient of our polymorphic type system such as subtyping, inference of type arguments, and so on.  ...  In this, we devise a novel and simple marking technique, where we interpret a polymorphic type as a set of values with annotations of which subparts are parameterized.  ...  The main part of a program is a set of (recursively defined) functions with an explicit declaration of argument types and a result type.  ... 
doi:10.1145/1596527.1596529 fatcat:qls22wq3qjg63m2hpgf7geqkbi
« Previous Showing results 1 — 15 out of 1,782 results