33 citations found. Retrieving documents...
Andrew C. Myers, Joseph A. Bank, and Barbara Liskov. Parameterized types for java. In Proceedings of the 24th ACM Symposium on Principles of Programming Languages (POPL'97), pages 132--145, Paris, France, January 1997.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents

Rupiah: Towards an Expressive Static Type System for Java - Foster (2001)   (1 citation)  (Correct)

....when used in software libraries. NextGen is also not yet implemented in a compiler, making it more di#cult to evaluate fully. 3.3 Other Proposals In addition to these three techniques, several other projects have explored solutions to the problem of adding parametric polymorphism to Java. PolyJ [MBL97] supports constrained polymorphism. However unlike most forms of bounded parametric polymorphism in Java, PolyJ uses constraints specified by structural properties ( where clauses) Another project, AFM97] adds run time compatible parameterized types to Java, but requires a modified ....

Andrew C. Myers, Joseph A. Bank, and Barbara Liskov. Parameterized types for Java. In ACM Symposium on the Principles of Programming Languages, pages 132--145. ACM, 1997. 38


Implementation techniques for a multi-service Java Virtual Machine - Harris (1999)   (Correct)

....ensure that the objects placed within the sequence are instances of the BaseType. The latter option provides this safety. It is possible that this can be handled more cleanly if the proposals for parameterized types are accepted for future versions of Java [Tho97, CGL, SA98, BOSW98, OW97, AFM97, MBL97] Record A record is a grouping of elements of different base types. For example: NewType : TYPE = RECORD [ Field1 : BaseType1, Field2 : BaseType2, Field3 : BaseType3 ] Each record type is translated to a Java class whose field definitions correspond with those of the record. The class ....

.... a particular class or which all implement a particular interface (as was the case with the BinomialTreeNode shown in Figure 12) The problem presented here is related to the one that the current proposals for adding parameterized types to the Java language are trying to solve [OW97, AFM97, MBL97, BOSW98] These proposals generally provide a mechanism for writing a class definition in a generic style and then parameterizing it at different places where it may be instantiated for example a suitably parameterized hashtable definition may be able to hold a mapping between Strings when ....

Andrew C. Myers, Joseph A. Bank, and Barbara Liskov. Parameterized types for Java. In Conference Record of POPL '97: The 24th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 132--145, Paris, France, 15--17 January 1997.


Extensible Virtual Machines - Harris (2001)   (4 citations)  (Correct)

....of bytes or similar construct. Many of the areas in which abstractions are not preserved under translation to Java bytecode are either ones that may be ameliorated by proposed extensions to the jvm (in particular support for parametric polymorphism in the translation of ml [Bracha98,Agesen97b,Myers97,Solorzano98,Odersky97] or by the additional controlflow operations available in the Microsoft clr. More formally, Abadi introduces the term full abstraction to describe a translation between two languages that maintains both pairwise equivalence and pairwise 68 non equivalence between ....

Andrew C. Myers, Joseph A. Bank, and Barbara Liskov. Parameterized Types for Java. In Proceedings of the twenty-fourth ACM Symposium on Principles of Programming Languages (POPL '97), pages 132--145, Paris, France, 15--17 January 1997. (p 68)


Targeting the Java Virtual Machine with Genericity, Multiple.. - Colnet, Zendra   (Correct)

....if we do not want to debate this in this paper, we can remark that stack allocation in the JVM seems to be a crucial issue both for expanded objects and ecient implementation of non escaped object. Adding genericity to Java has also been the topic of major interest in the last few years [AFM97,MBL97,Tho97,BOSW98,SA98,CJ98,Dug99] As we have shown with our system, whole system analysis combined with duplication and customization allows a reasonable and ecient implementation [CZ99] Furthermore, whole system analysis does not appear to be mandatory here because it seems possible to generate ....

Andrew C. Myers, Joseph A. Blank, and Barbara Liskov. Parameterized types for Java. In 24th Annual ACM SIGPLAN-SIGACT Symposium on the Principles of Programming Languages (POPL'97), pages 132-145, January 1997.


Combining Inclusion Polymorphism and Parametric Polymorphism - Glesner, Stroetmann (1999)   (Correct)

....parametric polymorphism. Type systems of this kind are of interest for object oriented programming languages. In particular, our result is applicable for the programming language Java which up to now does not allow for parametric polymorphism but will probably do so in future versions [MBL97, OW97]. Another area where our result is applicable is logic programming. A number of type systems have been designed in this area, e.g. AM94, HT92, Pfe92, YFS92] but the systems that have been implemented so far either offer no inclusion polymorphism at all [HL94, SHC95] or impose stronger ....

Andrew C. Myers, Joseph A. Bank, and Barbara Liskov. Parameterized Types for Java. In Proceedings of the 24th Symposium on Principles of Programming Languages, pages 132--145. ACM Press, 1997.


Compiling Java for High Performance and the Internet - Budimlic (2001)   (Correct)

....object on which the method is invoked. Hence, a given method would have a distinct vertex for each set of input types and each variant in its inheritance hierarchy. To obtain precise type signatures, the compiler can rely on the explicit type abstractions and applications provided by GJ NextGen [11, 25, 61]. This approach is similar to the construction of a completely precise call graph in Fortran [65, 22] The improvement derived by Hall and Kennedy was to construct the call graph as it was needed, carefully limiting the effective cost of propagation of information at newly discovered calls. This ....

Andrew C. Myers, Joseph A. Bank, and Barbara Liskov. Parameterized types for Java. In Conference Record of POPL '97: 24th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, 1997.


Type Oriented Logic Meta Programming for Java - De Volder (1998)   (Correct)

....documentation. This is useful in itself but there still is unused and largely unexplored potential in a more active usage of type information. By active we mean that types are treated as values that can be acted upon by programs. Adding parametric and bounded parametric types in OO languages [8, 14, 1, 13, 16, 12, 4] is definitely a step towards a more active usage of types. A parametric type is like a compile time function that takes some types as arguments and constructs a new type from them. So, in a way, parametric type systems offer a limited functional programming language to manipulate types at compile ....

....certain method or interface on a class invokes methods in one of its type parameters. In most parametric type proposals it is possible to signify this by constraining the type parameter to be a subtype of a type that provides the needed functionality. This is called bounded parametric polymorphism [8, 14, 1, 13]. In all of these we have an all or nothing situation. Either the type parameter is a subtype of the required type bound in which case the parametric class can be instantiated, or it is not and the class cannot be instantiated. Often however only part of the implementation of the class depends on ....

[Article contains additional citation context not shown here]

Andrew C. Myers, Joseph A. Bank, and Barbara Liskov. Parameterized types for java. In Proceedings of 24th ACM symposioum on Principles of Programming Languages, pages 132-- 145, 1997.


A Recipe for Raw Types - Igarashi, Pierce, Wadler (2001)   (2 citations)  (Correct)

....of the work, we have found a flaw in the typing rules from the GJ specification; type soundness is proved with respect to a repaired version of the type system. 1 Introduction In the past few years, a number of extensions of Java with parametric polymorphism have been proposed by various groups [1, 13, 14, 3, 7, 17] with various design and implementation schemes. Among them, the design of GJ [3] proposed by Bracha, Odersky, Stoutamire, and Wadler, is significantly a#ected by issues concerning compatibility with the current Java language environment. In particular, the language is backward compatible with ....

....notation is treated as a raw type, which can appear everywhere a type is expected; of course, downcast to a raw type is allowed. In fact, this kind of use of raw types is deemed very important as well as the use for program evolution. Other extensions of Java with polymorphic classes and methods [1, 13, 7, 17] did not provide functionality like raw types. According to the direct semantics of raw types shown here, it may be possible to augment them with raw types. In particular, our direct semantics would be directly applicable to extensions implementing type passing semantics at either the source level ....

[Article contains additional citation context not shown here]

Andrew C. Myers, Joseph A. Bank, and Barbara Liskov. Parameterized types for Java. In Proceedings of the 24th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL'97), pages 132--145, Paris, France, January 1997.


Improving Object-Oriented Generic Programming - Duret-Lutz, Geraud (2000)   (Correct)

....of generic empty packages [9] To make concepts explicit in C , we need bounded parametric polymorphism. We want to express algorithms by parameterized procedures with constrained parameter types like in the pseudo codes below (the syntax is inspired by a proposal of a generic extension for Java [24]) template typename TypeA where TypeA void meth( void foo( TypeA data ) data.meth( or: Improving Object Oriented Generic Programming 13 interface ConceptA void meth( template class ModelA where ModelA implements ConceptA void foo( ModelA data ) data.meth( but ....

Andrew C. Myers, Joseph A. Bank, and Barbara Liskov. Parameterized types for java. In Proceedings of the 24th ACM Symposium on Principles of Programming Languages (POPL'97), pages 132--145, Paris, France, January 1997.


The Cecil Language - Specification and Rationale - Version 3.0 - Chambers (1995)   (12 citations)  (Correct)

....also introduces the ability to declare that different instantiations of a parameterized type are subtype related either co or contravariantly with respect to its parameter types. Both Strongtalk systems are subsets of Cecil s type system. Theta [Day et al. 95, Liskov et al. 94] and PolyJ [Myers et al. 97] support signature constraints called where clauses. Unlike Cecil, only explicit type variables are supported, and clients must provide instantiations of all type variables when using a parameterized abstraction. No subtype relation holds between different instantiations of the same parameterized ....

Andrew C. Myers, Joseph A. Bank, and Barbara Liskov. Parameterized Types for Java. In Conference Record of the 24th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 132--145, January 1997.


Schema Transformation Processor (STP) - Werner (1999)   (Correct)

....operations and HAS A and IS A relationships between classes. Attributes and HAS A s are allowed to be multiplevalued. For Java 1.1, this reflects the fact that fields can be arrays. However attributes and HAS A s might in future also be parameterized types if they are introduced into Java [11, 13]. 3.1 IOM Graphs An IOM Graph is a graphical representation of the IOM, drawn using only three constructs, namely nodes, directed arcs and labels. Nodes represent types, arcs represent IS A and HAS A relationships as well as operations and attributes. The IOM Graph is less general than UML, in ....

Andrew C. Myers, Joseph A. Bank, and Barbara Liskov. Parameterized types for java. In ACM Symposium on Principles of Programming Languages, january 1997.


Machine-checking the Java Specification: Proving Type-Safety - von Oheimb, Nipkow (1998)   (10 citations)  (Correct)

....important, for example when we extended Bali with full exception handling. It will continue to help us further: apart from adding the last important Java features missing from Bali, e.g. threads, we also plan to use Bali as a vehicle for experimental extensions of Java such as parameterized types [MBL97,OW97,AFM97] Despite our general enthusiasm for machine checked language designs, a few words of warning are in order: Bali is still a half way house: not a toy language any more, but missing many details and some important features of Java. The Java type system is, despite subclassing, ....

Andrew C. Myers, Joseph A. Bank, and Barbara Liskov. Parameterized types for Java. In Proc. 24th ACM Symp. Principles of Programming Languages, pages 132--145, 1997.


GJ: Extending the Java programming language with type.. - Bracha, Odersky..   (4 citations)  (Correct)

....constituents. GJ, like Pizza, implements parametric types by erasure. A similar idea has been proposed and implemented for Oberon [RS97] There are a number of other proposals for adding parameterized types to the Java programming language, all based on carrying 2 type information at run time [AFM97, CS97, MBL97]. Run time types may be less e#cient to implement than erasure, and may be harder to interface with legacy code. As noted above, GJ is designed to extend smoothly if it is later judged practicable to use run time types. Virtual types have been suggested as an alternative to parametric types for ....

Andrew C. Myers, Joseph A. Bank, and Barbara Liskov. Parameterized types for Java. In Symposium on Principles of Programming Languages, pages 132--145, ACM, 1997.


Featherweight Java - A Minimal Core Calculus for Java and GJ - Igarashi, Pierce, Wadler (1999)   (107 citations)  (Correct)

....8] include generic classes and methods, but only in fairly simple forms. Generic extensions of Java. A number of extensions of Java with generic classes and methods have been proposed by various groups, including the language of Agesen, Freund, and Mitchell [2] PolyJ, by Myers, Bank, and Liskov [17]; Pizza, by Odersky and Wadler [19] GJ, by Bracha, Odersky, Stoutamire, and Wadler [7] and NextGen, by Cartwright and Steele [10] While all these languages are believed to be typesafe, our study of FGJ is the first to give rigorous proof of soundness for a generic extension of Java. We have ....

Andrew C. Myers, Joseph A. Bank, and Barbara Liskov. Parameterized types for Java. In ACM Symposium on Principles of Programming Languages (POPL), January 1997.


Unifying Genericity: Combining the Benefits of Virtual Types .. - Thorup, Torgersen (1999)   (10 citations)  (Correct)

....language mechanism in Ei el which combines the bene ts of polymorphism, as in ML, and those of inheritance. Several other programming languages, including CLU [LSAS77] C [ES90] and Sather [Omo93] implement similar features. Most recently several such proposals have come forth for Java [OW97,MBL97,AFM97,BOSW98,CS98] The most basic mechanism, found e.g. in C , is so called unconstrained genericity, in which a parameterized class is described using simple universal quanti cation: QueuehEi = get( E . put(e: E) With this de nition, Queue is a function taking any ....

....Subtyping In functional settings with structural typing, two record types are the same if their elds have the same names and types. Thus, types can be declared completely independently and still be in a subtyping relationship. In an objectoriented setting, where clauses as in CLU [LSAS77,MBL97] and matching in LOOM [Bru97] use variations of structural subtyping. As an alternative to this, many object oriented programming languages use name based typing (as in Java, C or Beta) With name based typing, two class types are only in a subtype relation if one is explicitly a subclass of ....

Andrew Myers, Joseph Bank, and Barbara Liskov. Parameterized types for Java. In Jones [Jon97].


Polyglot: An Extensible Compiler Framework for Java - Nystrom, Clarkson, Myers (2003)   (17 citations)  Self-citation (Myers)   (Correct)

....extensions of varying complexity. Our experience using Polyglot suggests that it is a useful framework for developing compilers for new Java like languages. Some of the complex extensions implemented are Jif [25] which extends Java with security types that regulate information flow; PolyJ [26], which adds bounded parametric polymorphism to Java; and JMatch [27] which extends Java with pattern matching and iteration features. Compilers built using Polyglot are themselves extensible; complex extensions such as Jif and PolyJ have themselves been extended. The framework is not difficult ....

.... information flow control and features to ensure the confidentiality and integrity of data [25] Jif split is an extension to Jif that partitions programs across multiple hosts based on their security requirements [37] PolyJ is a Java extension that supports bounded parametric polymorphism [26]. Param is an abstract extension that provides support for parameterized classes. This extension is not a complete language, but instead includes code implementing lazy substitution of type parameters. Jif, PolyJ, and Coffer extend Param. JMatch is a Java extension that supports pattern ....

[Article contains additional citation context not shown here]

Andrew C. Myers, Joseph A. Bank, and Barbara Liskov. Parameterized types for Java. In Proc. 24th ACM Symp. on Principles of Programming Languages (POPL), pages 132--145, Paris, France, January 1997.


JPS: A Distributed Persistent Java System - Boyapati (1998)   (3 citations)  Self-citation (Liskov)   (Correct)

....to address this particular subtyping problem. For example, Object can be treated as a transient class even though it has no hidden state. Furthermore, as a special case, persistent classes would be allowed to be subtypes of Object. But then, given that Java does not have parametric polymorphism [MBL97] one would never be able to store a Vector persistently since the declared type of the elements of a Vector is Object. These reasons lead us to the conclusion that runtime checks, to ensure that all objects being made persistent are indeed of persistent classes, are inevitable. And any ....

Andrew C. Myers, Joseph A. Bank, and Barbara Liskov. Parameterized types for Java. In 24th ACM Symposium on Principles of Programming Languages (POPL), pages 132-145, January 1997. Available at ftp://ftp.pmg.lcs.mit.edu/pub/thor/popl97/popl97.html.


Polylingual Systems: An Approach To Seamless Interoperability - Barrett (1998)   (1 citation)  Self-citation (Barbara)   (Correct)

.... the C template facility provides a limited form of parametric polymorphism, we choose to defer treating it in our formalization until we extend PolySPIN to incorporate another language, such as Ada95 or Java, that also provides parametric polymorphism (or plans to provide it, in the case of Java [2]) 6.4.2 The Type Checking Perspective From another perspective, the determination of polylingual type compatibility is an extension of type checking to a setting where type definitions are written in different languages. In this view, the objective is to ensure the absence of type errors in a ....

....can somehow contact objects of other languages. For CORBA, an ORB call is required to fetch a remote object. In PolySPINner V3, the previous example with initialization looks like this: NameServer nameserver; Vehicle v[3] v[0] new Vehicle; v[1] nameserver.Fetch( my vehicle ) v[2] = nameserver.Fetch( another vehicle ) for (i=0; i 3; i ) v Drive( 155 So although one can distinguish between local and remote objects, one cannot discern language differences from this source code. For example, the object named my vehicle could be a C object and another vehicle ....

[Article contains additional citation context not shown here]

Andrew C. Myers, Joseph A. Bank, and Liskov, Barbara H. Parameterized types for Java. In Proceedings of 24th ACM Symposium on Principles of Programming Languages (Jan. 1997).


JFlow: Practical Mostly-Static Information Flow Control - Myers (1999)   (74 citations)  Self-citation (Myers)   (Correct)

....to this grammar are required if the grammar is to be input to a parser generator. These grammar modifications (and, in fact, the code of the JFlow compiler itself) were to a considerable 14 extent derived from those of PolyJ, an extension to Java that supports parametric polymorphism [MBL97, LMM98]. A.1 Label expressions LabelExpr: f Components opt g Components: Component Components ; Component Component: Principal : Principals opt this Identifier Identifier Principals: Principal Principals , Principal Principal: Name A.2 Labeled types Types are extended to permit labels. ....

Andrew C. Myers, Joseph A. Bank, and Barbara Liskov. Parameterized types for Java. In Proc. 24th ACM Symp. on Principles of Programming Languages (POPL), pages 132--145, Paris, France, January 1997.


April 2000 - Epita Research And   (Correct)

No context found.

Andrew C. Myers, Joseph A. Bank, and Barbara Liskov. Parameterized types for java. In Proceedings of the 24th ACM Symposium on Principles of Programming Languages (POPL'97), pages 132--145, Paris, France, January 1997.


SafeJava: A Unified Type System for Safe Programming - Boyapati (2004)   (2 citations)  (Correct)

No context found.

Andrew C. Myers, Joseph A. Bank, and Barbara Liskov. Parameterized types for Java. In Principles of Programming Languages (POPL), January 1997.


On Variance-Based Subtyping for Parametric Types - Igarashi, Viroli (2002)   (4 citations)  (Correct)

No context found.

Andrew C. Meyers, Joseph A. Bank, and Barbara Liskov. Parameterized types for Java. In Proc. of ACM POPL, pages 132--145. ACM, 1997.


SafeJava: A Unified Type System for Safe Programming - Boyapati (2004)   (2 citations)  (Correct)

No context found.

Andrew C. Myers, Joseph A. Bank, and Barbara Liskov. Parameterized types for Java. In Principles of Programming Languages (POPL), January 1997.


SafeJava: A Unified Type System for Safe Programming - Boyapati (2004)   (2 citations)  (Correct)

No context found.

Andrew C. Myers, Joseph A. Bank, and Barbara Liskov. Parameterized types for Java. In Principles of Programming Languages (POPL), January 1997.


LOOJ: Weaving LOOM into Java - Kim Bruce And (2004)   (1 citation)  (Correct)

No context found.

Andrew C. Myers, Joseph A. Bank, and Barbara Liskov. Parameterized types for Java. In Proc. POPL 1997, pages 132--145, 1997.

First 50 documents

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