<?xml version="1.0" encoding="ISO-8859-1"?><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<front>
<journal-meta>
<journal-id>1405-5546</journal-id>
<journal-title><![CDATA[Computación y Sistemas]]></journal-title>
<abbrev-journal-title><![CDATA[Comp. y Sist.]]></abbrev-journal-title>
<issn>1405-5546</issn>
<publisher>
<publisher-name><![CDATA[Instituto Politécnico Nacional, Centro de Investigación en Computación]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S1405-55462003000400005</article-id>
<title-group>
<article-title xml:lang="en"><![CDATA[Inheritance, Generics and Binary Methods in Java]]></article-title>
<article-title xml:lang="es"><![CDATA[Herencia, Genéricos y Métodos Binarios en Java]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Barrón-Estrada]]></surname>
<given-names><![CDATA[María Lucía]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Stansifer]]></surname>
<given-names><![CDATA[Ryan]]></given-names>
</name>
<xref ref-type="aff" rid="A02"/>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,Instituto Tecnológico de Culiacán Departamento de Sistemas y Computación ]]></institution>
<addr-line><![CDATA[Culiacán Sin]]></addr-line>
<country>México</country>
</aff>
<aff id="A02">
<institution><![CDATA[,Institute of Technology University Computer Science Department ]]></institution>
<addr-line><![CDATA[Melbourne FL]]></addr-line>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>12</month>
<year>2003</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>12</month>
<year>2003</year>
</pub-date>
<volume>7</volume>
<numero>2</numero>
<fpage>113</fpage>
<lpage>122</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://www.scielo.org.mx/scielo.php?script=sci_arttext&amp;pid=S1405-55462003000400005&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.mx/scielo.php?script=sci_abstract&amp;pid=S1405-55462003000400005&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.mx/scielo.php?script=sci_pdf&amp;pid=S1405-55462003000400005&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="en"><p><![CDATA[Java has adopted a mechanism to support parameterized types that will be available in the next major release. A draft specification to add generics to the JavaTM Programming Language was published two years ago [1] and a new version of it in June 23, 2003 [2]. An extension of the type system based on F-bounded quantification is proposed. A binary method is a method that has one or more parameters of the same type as the object that receives the message. F-Bounded polymorphism and binary methods can't be combined smoothly in object-oriented languages with nominal subtyping and single dispatch [3]. In this paper, we address some problems that can arise when binary methods are needed in parameterized classes and interfaces in the implementation of a Java program.]]></p></abstract>
<abstract abstract-type="short" xml:lang="es"><p><![CDATA[El lenguaje de programación Java ha adoptado un mecanismo para definir tipos parametrizados, el cual estará disponible para los usuarios en la próxima versión de su compilador. La primera especificación formal para incluir genéricos en Java fue publicada hace dos años y una nueva versión el pasado mes de Junio del 2003. En esta especificación, se propone extender el sistema de tipos basandose en el sistema de cuantificación restringida F (F-Bounded quantification) con el fin de soportar directamente polimorfismo paramétrico en Java. Un método binario en aquel que contiene uno o más parámetros del mismo tipo del objeto que recibe el mensaje. El polimorfismo basado en el sistema de restricción F y los métodos binarios no pueden ser combinados en forma sencilla en aquellos lenguajes de programación orientados a objectos que contienen un sistema de tipos nominal y basan la selección del metodo a ejecutar solo en el tipo del objeto que recibe el mensaje. En este articulo, se presentan algunos problemas que aparecen en la implementación de programas en Java cuando es necesario definir clases e interfaces parametrizadas.]]></p></abstract>
<kwd-group>
<kwd lng="en"><![CDATA[Binary methods]]></kwd>
<kwd lng="en"><![CDATA[Java]]></kwd>
<kwd lng="en"><![CDATA[Parameterized types]]></kwd>
<kwd lng="es"><![CDATA[métodos binarios]]></kwd>
<kwd lng="es"><![CDATA[herencia]]></kwd>
<kwd lng="es"><![CDATA[Java]]></kwd>
<kwd lng="es"><![CDATA[tipos parametrizados]]></kwd>
<kwd lng="es"><![CDATA[genéricos]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[ <p align="justify"><font face="verdana" size="4">Art&iacute;culo</font></p>     <p align="center"><font face="verdana" size="2">&nbsp;</font></p>     <p align="center"><font face="verdana" size="4"><b>Inheritance, Generics and Binary Methods in Java</b></font></p>     <p align="center"><font face="verdana" size="2">&nbsp;</font></p>     <p align="center"><font face="verdana" size="3"><b><i>Herencia, Gen&eacute;ricos y M&eacute;todos Binarios en Java</i></b></font></p>     <p align="center"><font face="verdana" size="2">&nbsp;</font></p>     <p align="center"><font face="verdana" size="2"><b>Mar&iacute;a Luc&iacute;a Barr&oacute;n&#150;Estrada <sup>1</sup> and Ryan Stansifer <sup>2</sup></b></font></p>     <p align="justify"><font face="verdana" size="2">&nbsp;</font></p>     <p align="justify"><font face="verdana" size="2"><i><sup>1</sup> Departamento de Sistemas y Computaci&oacute;n Instituto Tecnol&oacute;gico de Culiac&aacute;n Culiac&aacute;n, Sin. C.P. 80220 M&eacute;xico. </i>E&#150;mail: <i><a href="mailto:mbarron@fit.edu">mbarron@fit.edu</a> </i></font></p>     <p align="justify"><font face="verdana" size="2"><i><sup>2</sup> Computer Science Department Florida Institute of Technology University Blvd.. Melbourne, FL 32901.</i> E&#150;mail:<i>  <a href="mailto:ryan@cs.fit.ed">ryan@cs.fit.ed</a></i></font></p>     ]]></body>
<body><![CDATA[<p align="justify"><font face="verdana" size="2">&nbsp;</font></p>     <p align="justify"><font face="verdana" size="2"><b>Abstract</b></font></p>     <p align="justify"><font face="verdana" size="2">Java has adopted a mechanism to support parameterized types that will be available in the next major release. A draft specification to add generics to the Java<sup>TM</sup> Programming Language was published two years ago &#91;1&#93; and a new version of it in June 23, 2003 &#91;2&#93;. An extension of the type system based on F&#150;bounded quantification is proposed. A binary method is a method that has one or more parameters of the same type as the object that receives the message. F&#150;Bounded polymorphism and binary methods can't be combined smoothly in object&#150;oriented languages with nominal subtyping and single dispatch &#91;3&#93;.</font></p>     <p align="justify"><font face="verdana" size="2">In this paper, we address some problems that can arise when binary methods are needed in parameterized classes and interfaces in the implementation of a Java program. </font></p>     <p align="justify"><font face="verdana" size="2"><b>Keywords: </b>Binary methods, Inheritance, Java, Parameterized types.</font></p>     <p align="justify"><font face="verdana" size="2">&nbsp;</font></p>     <p align="justify"><font face="verdana" size="2"><b>Resumen</b></font></p>     <p align="justify"><font face="verdana" size="2">El lenguaje de programaci&oacute;n Java ha adoptado un mecanismo para definir tipos parametrizados, el cual estar&aacute; disponible para los usuarios en la pr&oacute;xima versi&oacute;n de su compilador. La primera especificaci&oacute;n formal para incluir gen&eacute;ricos en Java fue publicada hace dos a&ntilde;os y una nueva versi&oacute;n el pasado mes de Junio del 2003. En esta especificaci&oacute;n, se propone extender el sistema de tipos basandose en el sistema de cuantificaci&oacute;n restringida F (F&#150;Bounded quantification) con el fin de soportar directamente polimorfismo param&eacute;trico en Java. Un m&eacute;todo binario en aquel que contiene uno o m&aacute;s par&aacute;metros del mismo tipo del objeto que recibe el mensaje. El polimorfismo basado en el sistema de restricci&oacute;n F y los m&eacute;todos binarios no pueden ser combinados en forma sencilla en aquellos lenguajes de programaci&oacute;n orientados a objectos que contienen un sistema de tipos nominal y basan la selecci&oacute;n del metodo a ejecutar solo en el tipo del objeto que recibe el mensaje.</font></p>     <p align="justify"><font face="verdana" size="2">En este articulo, se presentan algunos problemas que aparecen en la implementaci&oacute;n de programas en Java cuando es necesario definir clases e interfaces parametrizadas.</font></p>     <p align="justify"><font face="verdana" size="2"><b>Palabras clave</b>: m&eacute;todos binarios, herencia, Java, tipos parametrizados, gen&eacute;ricos.</font></p>     ]]></body>
<body><![CDATA[<p align="justify"><font face="verdana" size="2">&nbsp;</font></p>     <p align="justify"><font face="verdana" size="2"><a href="/pdf/cys/v7n2/v7n2a5.pdf" target="_blank">DESCARGAR ART&Iacute;CULO EN FORMATO PDF</a></font></p>     <p align="justify"><font face="verdana" size="2">&nbsp;</font></p>     <p align="justify"><font face="verdana" size="2"><b>References</b></font></p>     <!-- ref --><p align="justify"><font face="verdana" size="2">1. <b>Gilad Bracha, Norman Cohen, Christian Kemper, Steve Max, Martin Odersky, Sven&#150;Eric Paintz, David Stoutamire, Kresten Thorup, </b>and<b> Philip Wadler. </b>Adding generics to the Java<sup>TM</sup> Programming Language: Participant Draft Specification. April 27, 2001. Online. <a href="http://java.sun.com/" target="_blank">http://java.sun.com</a></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=2035864&pid=S1405-5546200300040000500001&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p align="justify"><font face="verdana" size="2">2. <b>Gilad Bracha, Norman Cohen, Christian Kemper, Martin Odersky, David Stoutamire, Kresten Thorup, </b>and<b> Philip Wadler. </b>Adding generics to the Java<sup>TM</sup> Programming Language: Public Draft Specification, Version 2.0. June 23, 2003. Online. <a href="http://java.sun.com/" target="_blank">http://java.sun.com</a> </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=2035865&pid=S1405-5546200300040000500002&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p align="justify"><font face="verdana" size="2">3. <b>Kim B. Bruce, Luca Cardelli, Giuseppe Castagna, </b>the Hopkins Objects Group, Gary T. Leavens, and Benjamin Pierce. On binary methods. Theory and Practice of Object Systems, 1(3):221&#150;242, 1996.</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=2035866&pid=S1405-5546200300040000500003&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p align="justify"><font face="verdana" size="2"> 4. <b>Gilad Bracha, David Stoutamire, Martin Odersky, </b>and <b>Philip Wadler</b>. Making the future safe for the past: Adding genericity to the Java programming language. <i>In Proceedings of OOPSLA '98, </i>October 1998. </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=2035867&pid=S1405-5546200300040000500004&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p align="justify"><font face="verdana" size="2">5. <b>Luca Cardelli </b>and<b> Peter Wegner. </b>On understanding Types, Data abstraction, and Polymorphism. <i>Computing Surveys, </i>Vol. 17 n. 4, pp 471&#150;522, December 1985.</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=2035868&pid=S1405-5546200300040000500005&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p align="justify"><font face="verdana" size="2">6. <b>Peter S. Canning, William Cook, Walter L. Hill, John Mitchell, </b>and<b> Walter Olthoof. F&#150;Bounded </b>Polymorphism for Object&#150;Oriented Programming. In <i>Proceedings of the Fourth International Conference on Functional Programming Languages and Computer </i><i>Architecture, </i>pages 273&#150;280. ACM, 1989. </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=2035869&pid=S1405-5546200300040000500006&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p align="justify"><font face="verdana" size="2">7. <b>James Gosling, Bill Joy, Guy L. Steele, </b>and <b>Gilad Bracha</b>. <i>The Java Language Specification. </i>Java series. Addison&#150;Wesley, Reading, Massachusetts, second edition, 2000. </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=2035870&pid=S1405-5546200300040000500007&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p align="justify"><font face="verdana" size="2">8. <b>Didier Remy </b>and<b> Jerome Vouillon. </b>Objective ML: An effective object&#150;oriented extension to ML. <i>Theory and Practice of Object </i><i>Systems. </i>1998. </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=2035871&pid=S1405-5546200300040000500008&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p align="justify"><font face="verdana" size="2">9. <b>John Boyland </b>and<b> Giuseppe Castagna. </b>Parasitic Methods: An Implementation of Multi&#150;Methods for Java. <i>Proceedings of ACM OOPSLA 97 Conference. </i>Atlanta, GA, USA 1997.</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=2035872&pid=S1405-5546200300040000500009&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p align="justify"><font face="verdana" size="2">10<b>. </b><b>Luca Cardelli, </b>A Semantics of Multiple Inheritance. <i>Inf. Computation </i>76, 138&#150;164. </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=2035873&pid=S1405-5546200300040000500010&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p align="justify"><font face="verdana" size="2">11. <b>Giuseppe Castagna, G Ghelli, </b>and<b> G Longo. </b>A calculus for overloaded functions with subtyping. Information and Computation 117,1,115&#150;135 1995. A preliminary version has been presented at the <i>1992 ACM Conference on LISP and Functional Programming</i>.</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=2035874&pid=S1405-5546200300040000500011&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --> ]]></body><back>
<ref-list>
<ref id="B1">
<label>1</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Bracha]]></surname>
<given-names><![CDATA[Gilad]]></given-names>
</name>
<name>
<surname><![CDATA[Cohen]]></surname>
<given-names><![CDATA[Norman]]></given-names>
</name>
<name>
<surname><![CDATA[Kemper]]></surname>
<given-names><![CDATA[Christian]]></given-names>
</name>
<name>
<surname><![CDATA[Max]]></surname>
<given-names><![CDATA[Steve]]></given-names>
</name>
<name>
<surname><![CDATA[Odersky]]></surname>
<given-names><![CDATA[Martin]]></given-names>
</name>
<name>
<surname><![CDATA[Paintz]]></surname>
<given-names><![CDATA[Sven-Eric]]></given-names>
</name>
<name>
<surname><![CDATA[Stoutamire]]></surname>
<given-names><![CDATA[David]]></given-names>
</name>
<name>
<surname><![CDATA[Thorup]]></surname>
<given-names><![CDATA[Kresten]]></given-names>
</name>
<name>
<surname><![CDATA[Wadler]]></surname>
<given-names><![CDATA[Philip]]></given-names>
</name>
</person-group>
<source><![CDATA[Adding generics to the JavaTM Programming Language: Participant Draft Specification]]></source>
<year>2001</year>
</nlm-citation>
</ref>
<ref id="B2">
<label>2</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Bracha]]></surname>
<given-names><![CDATA[Gilad]]></given-names>
</name>
<name>
<surname><![CDATA[Cohen]]></surname>
<given-names><![CDATA[Norman]]></given-names>
</name>
<name>
<surname><![CDATA[Kemper]]></surname>
<given-names><![CDATA[Christian]]></given-names>
</name>
<name>
<surname><![CDATA[Odersky]]></surname>
<given-names><![CDATA[Martin]]></given-names>
</name>
<name>
<surname><![CDATA[Stoutamire]]></surname>
<given-names><![CDATA[David]]></given-names>
</name>
<name>
<surname><![CDATA[Thorup]]></surname>
<given-names><![CDATA[Kresten]]></given-names>
</name>
<name>
<surname><![CDATA[Wadler]]></surname>
<given-names><![CDATA[Philip]]></given-names>
</name>
</person-group>
<source><![CDATA[Adding generics to the JavaTM Programming Language: Public Draft Specification, Version 2.0.]]></source>
<year>2003</year>
</nlm-citation>
</ref>
<ref id="B3">
<label>3</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Bruce]]></surname>
<given-names><![CDATA[Kim B]]></given-names>
</name>
<name>
<surname><![CDATA[Cardelli]]></surname>
<given-names><![CDATA[Luca]]></given-names>
</name>
<name>
<surname><![CDATA[Castagna]]></surname>
<given-names><![CDATA[Giuseppe]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[the Hopkins Objects Group, Gary T. Leavens, and Benjamin Pierce: On binary methods]]></article-title>
<source><![CDATA[Theory and Practice of Object Systems]]></source>
<year>1996</year>
<volume>1</volume>
<numero>3</numero>
<issue>3</issue>
<page-range>221-242</page-range></nlm-citation>
</ref>
<ref id="B4">
<label>4</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Bracha]]></surname>
<given-names><![CDATA[Gilad]]></given-names>
</name>
<name>
<surname><![CDATA[Stoutamire]]></surname>
<given-names><![CDATA[David]]></given-names>
</name>
<name>
<surname><![CDATA[Odersky]]></surname>
<given-names><![CDATA[Martin]]></given-names>
</name>
<name>
<surname><![CDATA[Wadler]]></surname>
<given-names><![CDATA[Philip]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Making the future safe for the past: Adding genericity to the Java programming language]]></article-title>
<source><![CDATA[]]></source>
<year></year>
<conf-name><![CDATA[ Proceedings of OOPSLA '98]]></conf-name>
<conf-date>1998</conf-date>
<conf-loc> </conf-loc>
</nlm-citation>
</ref>
<ref id="B5">
<label>5</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Cardelli]]></surname>
<given-names><![CDATA[Luca]]></given-names>
</name>
<name>
<surname><![CDATA[Wegner]]></surname>
<given-names><![CDATA[Peter]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[On understanding Types, Data abstraction, and Polymorphism]]></article-title>
<source><![CDATA[Computing Surveys]]></source>
<year>1985</year>
<volume>17</volume>
<numero>4</numero>
<issue>4</issue>
<page-range>471-522</page-range></nlm-citation>
</ref>
<ref id="B6">
<label>6</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Canning]]></surname>
<given-names><![CDATA[Peter S]]></given-names>
</name>
<name>
<surname><![CDATA[Cook]]></surname>
<given-names><![CDATA[William]]></given-names>
</name>
<name>
<surname><![CDATA[Hill]]></surname>
<given-names><![CDATA[Walter L]]></given-names>
</name>
<name>
<surname><![CDATA[Mitchell]]></surname>
<given-names><![CDATA[John]]></given-names>
</name>
<name>
<surname><![CDATA[F-Bounded]]></surname>
<given-names><![CDATA[Walter Olthoof]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Polymorphism for Object-Oriented Programming]]></article-title>
<source><![CDATA[]]></source>
<year>1989</year>
<conf-name><![CDATA[ Proceedings of the Fourth International Conference on Functional Programming Languages and Computer Architecture]]></conf-name>
<conf-loc> </conf-loc>
<page-range>273-280</page-range><publisher-name><![CDATA[ACM]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B7">
<label>7</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Gosling]]></surname>
<given-names><![CDATA[James]]></given-names>
</name>
<name>
<surname><![CDATA[Joy]]></surname>
<given-names><![CDATA[Bill]]></given-names>
</name>
<name>
<surname><![CDATA[Steele]]></surname>
<given-names><![CDATA[Guy L]]></given-names>
</name>
<name>
<surname><![CDATA[Bracha]]></surname>
<given-names><![CDATA[Gilad]]></given-names>
</name>
</person-group>
<source><![CDATA[The Java Language Specification]]></source>
<year>2000</year>
<edition>second</edition>
<publisher-loc><![CDATA[^eMassachusetts Massachusetts]]></publisher-loc>
<publisher-name><![CDATA[Addison-Wesley, Reading,]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B8">
<label>8</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Remy]]></surname>
<given-names><![CDATA[Didier]]></given-names>
</name>
<name>
<surname><![CDATA[Vouillon]]></surname>
<given-names><![CDATA[Jerome]]></given-names>
</name>
</person-group>
<source><![CDATA[Objective ML: An effective object-oriented extension to ML]]></source>
<year>1998</year>
<publisher-name><![CDATA[Theory and Practice of Object Systems]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B9">
<label>9</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Boyland]]></surname>
<given-names><![CDATA[John]]></given-names>
</name>
<name>
<surname><![CDATA[Castagna]]></surname>
<given-names><![CDATA[Giuseppe]]></given-names>
</name>
</person-group>
<source><![CDATA[Parasitic Methods: An Implementation of Multi-Methods for Java]]></source>
<year></year>
<conf-name><![CDATA[ Proceedings of ACM OOPSLA 97 Conference]]></conf-name>
<conf-date>1997</conf-date>
<conf-loc>Atlanta GA</conf-loc>
</nlm-citation>
</ref>
<ref id="B10">
<label>10</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Cardelli]]></surname>
<given-names><![CDATA[Luca]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A Semantics of Multiple Inheritance]]></article-title>
<source><![CDATA[Inf. Computation]]></source>
<year></year>
<numero>76</numero>
<issue>76</issue>
<page-range>138-164</page-range></nlm-citation>
</ref>
<ref id="B11">
<label>11</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Castagna]]></surname>
<given-names><![CDATA[Giuseppe]]></given-names>
</name>
<name>
<surname><![CDATA[Ghelli]]></surname>
<given-names><![CDATA[G]]></given-names>
</name>
<name>
<surname><![CDATA[Longo]]></surname>
<given-names><![CDATA[G]]></given-names>
</name>
</person-group>
<source><![CDATA[A calculus for overloaded functions with subtyping: Information and Computation]]></source>
<year>1995</year>
<volume>117</volume>
<conf-name><![CDATA[ A preliminary version has been presented at the 1992 ACM Conference on LISP and Functional Programming]]></conf-name>
<conf-loc> </conf-loc>
<page-range>115-135</page-range></nlm-citation>
</ref>
</ref-list>
</back>
</article>
