<?xml version="1.0" encoding="utf-8"?>
<TEI xmlns="http://www.tei-c.org/ns/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:hal="http://hal.archives-ouvertes.fr/" xmlns:gml="http://www.opengis.net/gml/3.3/" xmlns:gmlce="http://www.opengis.net/gml/3.3/ce" version="1.1" xsi:schemaLocation="http://www.tei-c.org/ns/1.0 http://api.archives-ouvertes.fr/documents/aofr-sword.xsd">
  <teiHeader>
    <fileDesc>
      <titleStmt>
        <title>HAL TEI export of hal-01483756</title>
      </titleStmt>
      <publicationStmt>
        <distributor>CCSD</distributor>
        <availability status="restricted">
          <licence target="https://creativecommons.org/publicdomain/zero/1.0/">CC0 1.0 - Universal</licence>
        </availability>
        <date when="2026-05-14T23:55:46+02:00"/>
      </publicationStmt>
      <sourceDesc>
        <p part="N">HAL API Platform</p>
      </sourceDesc>
    </fileDesc>
  </teiHeader>
  <text>
    <body>
      <listBibl>
        <biblFull>
          <titleStmt>
            <title xml:lang="en">An Experiment with lexically-bound extension methods for a dynamic language</title>
            <author role="aut">
              <persName>
                <forename type="first">Stéphane</forename>
                <surname>Ducasse</surname>
              </persName>
              <email type="md5">5da97c2837b65f20186e33a01b85efad</email>
              <email type="domain">inria.fr</email>
              <idno type="idhal" notation="string">stephane-ducasse</idno>
              <idno type="idhal" notation="numeric">939</idno>
              <idno type="halauthorid" notation="string">17081-939</idno>
              <idno type="IDREF">https://www.idref.fr/034814884</idno>
              <idno type="ORCID">https://orcid.org/0000-0001-6070-6599</idno>
              <idno type="ARXIV">https://arxiv.org/a/ducasse_s_1</idno>
              <idno type="GOOGLE SCHOLAR">https://scholar.google.fr/citations?user=7fHNqtoAAAAJ</idno>
              <affiliation ref="#struct-432037"/>
            </author>
            <author role="aut">
              <persName>
                <forename type="first">Luc</forename>
                <surname>Fabresse</surname>
              </persName>
              <email type="md5">57c63a6a611679cc435f882618974d2c</email>
              <email type="domain">imt-nord-europe.fr</email>
              <idno type="idhal" notation="string">luc-fabresse</idno>
              <idno type="idhal" notation="numeric">736044</idno>
              <idno type="halauthorid" notation="string">36620-736044</idno>
              <idno type="RESEARCHERID">http://www.researcherid.com/rid/AAH-9286-2020</idno>
              <idno type="IDREF">https://www.idref.fr/076382427</idno>
              <idno type="ORCID">https://orcid.org/0000-0002-2223-7258</idno>
              <idno type="GOOGLE SCHOLAR">https://scholar.google.com/citations?user=LOYVTHMAAAAJ&amp;hl=en</idno>
              <idno type="RESEARCHERID">http://www.researcherid.com/rid/http://www.researcherid.com/rid/AAH-9286-2020</idno>
              <affiliation ref="#struct-1076753"/>
            </author>
            <author role="aut">
              <persName>
                <forename type="first">Guillermo</forename>
                <surname>Polito</surname>
              </persName>
              <email type="md5">ed4273e9fab199ef7a6fe0dc8b41db96</email>
              <email type="domain">univ-lille.fr</email>
              <idno type="idhal" notation="string">guillermo-polito</idno>
              <idno type="idhal" notation="numeric">13017</idno>
              <idno type="halauthorid" notation="string">16673-13017</idno>
              <idno type="ORCID">https://orcid.org/0000-0003-0813-8584</idno>
              <idno type="IDREF">https://www.idref.fr/188347836</idno>
              <affiliation ref="#struct-410272"/>
            </author>
            <author role="aut">
              <persName>
                <forename type="first">Camille</forename>
                <surname>Teruel</surname>
              </persName>
              <idno type="halauthorid">686784-0</idno>
              <affiliation ref="#struct-432037"/>
            </author>
            <editor role="depositor">
              <persName>
                <forename>Guillermo</forename>
                <surname>Polito</surname>
              </persName>
              <email type="md5">ed4273e9fab199ef7a6fe0dc8b41db96</email>
              <email type="domain">univ-lille.fr</email>
            </editor>
          </titleStmt>
          <editionStmt>
            <edition n="v1" type="current">
              <date type="whenSubmitted">2017-03-06 14:01:28</date>
              <date type="whenWritten">2017-03-06</date>
              <date type="whenModified">2026-03-06 11:36:02</date>
              <date type="whenReleased">2017-03-06 15:45:53</date>
              <date type="whenProduced">2017-03-06</date>
              <date type="whenEndEmbargoed">2017-03-06</date>
              <ref type="file" target="https://inria.hal.science/hal-01483756v1/document">
                <date notBefore="2017-03-06"/>
              </ref>
              <ref type="file" subtype="author" n="1" target="https://inria.hal.science/hal-01483756v1/file/conch-tech-report.pdf" id="file-1483756-1549254">
                <date notBefore="2017-03-06"/>
              </ref>
            </edition>
            <respStmt>
              <resp>contributor</resp>
              <name key="487252">
                <persName>
                  <forename>Guillermo</forename>
                  <surname>Polito</surname>
                </persName>
                <email type="md5">ed4273e9fab199ef7a6fe0dc8b41db96</email>
                <email type="domain">univ-lille.fr</email>
              </name>
            </respStmt>
          </editionStmt>
          <publicationStmt>
            <distributor>CCSD</distributor>
            <idno type="halId">hal-01483756</idno>
            <idno type="halUri">https://inria.hal.science/hal-01483756</idno>
            <idno type="halBibtex">ducasse:hal-01483756</idno>
            <idno type="halRefHtml">[Research Report] Inria Lille - Nord Europe. 2017</idno>
            <idno type="halRef">[Research Report] Inria Lille - Nord Europe. 2017</idno>
            <availability status="restricted">
              <licence target="https://about.hal.science/hal-authorisation-v1/">HAL Authorization<ref corresp="#file-1483756-1549254"/></licence>
            </availability>
          </publicationStmt>
          <seriesStmt>
            <idno type="stamp" n="CNRS">CNRS - Centre national de la recherche scientifique</idno>
            <idno type="stamp" n="INRIA">INRIA - Institut National de Recherche en Informatique et en Automatique</idno>
            <idno type="stamp" n="INRIA-LILLE">INRIA Lille - Nord Europe</idno>
            <idno type="stamp" n="INRIA_TEST">INRIA - Institut National de Recherche en Informatique et en Automatique</idno>
            <idno type="stamp" n="TESTALAIN1">TESTALAIN1</idno>
            <idno type="stamp" n="CRISTAL">Centre de Recherche en Informatique, Signal et Automatique de Lille (CRISTAL)</idno>
            <idno type="stamp" n="INRIA2">INRIA 2</idno>
            <idno type="stamp" n="CRISTAL-RMOD" corresp="CRISTAL">CRISTAL-RMOD</idno>
            <idno type="stamp" n="LARA">LARA</idno>
            <idno type="stamp" n="PHARO">Pharo</idno>
            <idno type="stamp" n="INRIA2017">INRIA2017</idno>
            <idno type="stamp" n="UNIV-LILLE">Université de Lille</idno>
            <idno type="stamp" n="INSTITUTS-TELECOM">composantes instituts telecom </idno>
            <idno type="stamp" n="TEST-HALCNRS">Collection test HAL CNRS</idno>
            <idno type="stamp" n="IMT-NORD-EUROPE" corresp="INSTITUT-MINES-TELECOM">IMT Nord Europe</idno>
            <idno type="stamp" n="CERI-SN" corresp="IMT-NORD-EUROPE">Centre d’Enseignement, de Recherche et d’Innovation Systèmes Numériques (CERI SN)</idno>
            <idno type="stamp" n="INSTITUT-MINES-TELECOM">Institut Mines Telecom</idno>
          </seriesStmt>
          <notesStmt>
            <note type="report" n="6">Research Report</note>
          </notesStmt>
          <sourceDesc>
            <biblStruct>
              <analytic>
                <title xml:lang="en">An Experiment with lexically-bound extension methods for a dynamic language</title>
                <author role="aut">
                  <persName>
                    <forename type="first">Stéphane</forename>
                    <surname>Ducasse</surname>
                  </persName>
                  <email type="md5">5da97c2837b65f20186e33a01b85efad</email>
                  <email type="domain">inria.fr</email>
                  <idno type="idhal" notation="string">stephane-ducasse</idno>
                  <idno type="idhal" notation="numeric">939</idno>
                  <idno type="halauthorid" notation="string">17081-939</idno>
                  <idno type="IDREF">https://www.idref.fr/034814884</idno>
                  <idno type="ORCID">https://orcid.org/0000-0001-6070-6599</idno>
                  <idno type="ARXIV">https://arxiv.org/a/ducasse_s_1</idno>
                  <idno type="GOOGLE SCHOLAR">https://scholar.google.fr/citations?user=7fHNqtoAAAAJ</idno>
                  <affiliation ref="#struct-432037"/>
                </author>
                <author role="aut">
                  <persName>
                    <forename type="first">Luc</forename>
                    <surname>Fabresse</surname>
                  </persName>
                  <email type="md5">57c63a6a611679cc435f882618974d2c</email>
                  <email type="domain">imt-nord-europe.fr</email>
                  <idno type="idhal" notation="string">luc-fabresse</idno>
                  <idno type="idhal" notation="numeric">736044</idno>
                  <idno type="halauthorid" notation="string">36620-736044</idno>
                  <idno type="RESEARCHERID">http://www.researcherid.com/rid/AAH-9286-2020</idno>
                  <idno type="IDREF">https://www.idref.fr/076382427</idno>
                  <idno type="ORCID">https://orcid.org/0000-0002-2223-7258</idno>
                  <idno type="GOOGLE SCHOLAR">https://scholar.google.com/citations?user=LOYVTHMAAAAJ&amp;hl=en</idno>
                  <idno type="RESEARCHERID">http://www.researcherid.com/rid/http://www.researcherid.com/rid/AAH-9286-2020</idno>
                  <affiliation ref="#struct-1076753"/>
                </author>
                <author role="aut">
                  <persName>
                    <forename type="first">Guillermo</forename>
                    <surname>Polito</surname>
                  </persName>
                  <email type="md5">ed4273e9fab199ef7a6fe0dc8b41db96</email>
                  <email type="domain">univ-lille.fr</email>
                  <idno type="idhal" notation="string">guillermo-polito</idno>
                  <idno type="idhal" notation="numeric">13017</idno>
                  <idno type="halauthorid" notation="string">16673-13017</idno>
                  <idno type="ORCID">https://orcid.org/0000-0003-0813-8584</idno>
                  <idno type="IDREF">https://www.idref.fr/188347836</idno>
                  <affiliation ref="#struct-410272"/>
                </author>
                <author role="aut">
                  <persName>
                    <forename type="first">Camille</forename>
                    <surname>Teruel</surname>
                  </persName>
                  <idno type="halauthorid">686784-0</idno>
                  <affiliation ref="#struct-432037"/>
                </author>
              </analytic>
              <monogr>
                <imprint>
                  <date type="datePub">2017-03-06</date>
                </imprint>
                <authority type="institution">Inria Lille - Nord Europe</authority>
              </monogr>
            </biblStruct>
          </sourceDesc>
          <profileDesc>
            <langUsage>
              <language ident="en">English</language>
            </langUsage>
            <textClass>
              <keywords scheme="author">
                <term xml:lang="en"> extension methods</term>
                <term xml:lang="en">PHARO</term>
                <term xml:lang="en">modularity</term>
              </keywords>
              <classCode scheme="halDomain" n="info.info-pl">Computer Science [cs]/Programming Languages [cs.PL]</classCode>
              <classCode scheme="halTypology" n="REPORT">Reports</classCode>
              <classCode scheme="halOldTypology" n="REPORT">Reports</classCode>
              <classCode scheme="halTreeTypology" n="REPORT.RESREPORT">Reports - Research report</classCode>
            </textClass>
            <abstract xml:lang="en">
              <p>An extension method is a method declared in a package other than the package of its host class. Thanks to extension methods, developers can adapt classes they do not own to their needs: adding methods to core classes is a typical use case. This is particularly useful for adapting software and therefore increasing reusability. In most dynamically-typed languages, extension methods are globally visible. Because any developer can define extension methods for any class, naming conflicts occur: if two developers define an extension method with the same signature in the same class, only one extension method is visible and overwrites the other. Similarly, if two developers each define an extension method with the same name in a class hierarchy, one overrides the other. Existing solutions typically rely on a dedicated and slow method lookup algorithm to resolve conflicts at runtime. In this article, we present a model of scoped extension methods that minimizes accidental overrides and we present an implementation in Pharo that incurs little performance overhead. This implementation is based on lexical scope and hierarchy-first strategy for extension scoping.</p>
            </abstract>
            <particDesc>
              <org type="consortium">PHARO</org>
            </particDesc>
          </profileDesc>
        </biblFull>
      </listBibl>
    </body>
    <back>
      <listOrg type="structures">
        <org type="researchteam" xml:id="struct-432037" status="OLD">
          <idno type="RNSR">200919009C</idno>
          <orgName>Analyses and Languages Constructs for Object-Oriented Application Evolution</orgName>
          <orgName type="acronym">RMOD</orgName>
          <date type="start">2015-01-01</date>
          <date type="end">2023-03-31</date>
          <desc>
            <address>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.inria.fr/equipes/rmod</ref>
          </desc>
          <listRelation>
            <relation active="#struct-104752" type="direct"/>
            <relation active="#struct-300009" type="indirect"/>
            <relation active="#struct-410272" type="direct"/>
            <relation name="UMR9189" active="#struct-120930" type="indirect"/>
            <relation name="UMR9189" active="#struct-374570" type="indirect"/>
            <relation name="UMR9189" active="#struct-441569" type="indirect"/>
          </listRelation>
        </org>
        <org type="laboratory" xml:id="struct-1076753" status="VALID">
          <idno type="RNSR">201923317S</idno>
          <orgName>Centre for Digital Systems</orgName>
          <orgName type="acronym">CERI SN - IMT Nord Europe</orgName>
          <date type="start">2021-09-01</date>
          <desc>
            <address>
              <addrLine>Cité Scientifique, Rue Guglielmo Marconi BP 20145 VILLENEUVE D’ASCQ</addrLine>
              <country key="FR"/>
            </address>
          </desc>
          <listRelation>
            <relation active="#struct-1076752" type="direct"/>
            <relation active="#struct-302102" type="indirect"/>
          </listRelation>
        </org>
        <org type="laboratory" xml:id="struct-410272" status="VALID">
          <idno type="IdRef">18388695X</idno>
          <idno type="RNSR">201521249L</idno>
          <idno type="ROR">https://ror.org/05vrs3189</idno>
          <idno type="Wikidata">Q116959497</idno>
          <orgName>Centre de Recherche en Informatique, Signal et Automatique de Lille - UMR 9189</orgName>
          <orgName type="acronym">CRIStAL</orgName>
          <date type="start">2015-01-01</date>
          <desc>
            <address>
              <addrLine>Université de Lille - Campus scientifique - Bâtiment ESPRIT - Avenue Henri Poincaré - 59655 Villeneuve d’Ascq</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">https://www.cristal.univ-lille.fr/</ref>
          </desc>
          <listRelation>
            <relation name="UMR9189" active="#struct-120930" type="direct"/>
            <relation name="UMR9189" active="#struct-374570" type="direct"/>
            <relation name="UMR9189" active="#struct-441569" type="direct"/>
          </listRelation>
        </org>
        <org type="laboratory" xml:id="struct-104752" status="VALID">
          <idno type="RNSR">200818245B</idno>
          <idno type="ROR">https://ror.org/04eej9726</idno>
          <orgName>Centre Inria de l'Université de Lille</orgName>
          <desc>
            <address>
              <addrLine>Parc Scientifique de la Haute Borne 40, avenue Halley Bât.A, Park Plaza 59650 Villeneuve d'Ascq</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.inria.fr/lille/</ref>
          </desc>
          <listRelation>
            <relation active="#struct-300009" type="direct"/>
          </listRelation>
        </org>
        <org type="institution" xml:id="struct-300009" status="VALID">
          <idno type="ROR">https://ror.org/02kvxyf05</idno>
          <orgName>Institut National de Recherche en Informatique et en Automatique</orgName>
          <orgName type="acronym">Inria</orgName>
          <desc>
            <address>
              <addrLine>Domaine de VoluceauRocquencourt - BP 10578153 Le Chesnay Cedex</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.inria.fr/en/</ref>
          </desc>
        </org>
        <org type="institution" xml:id="struct-120930" status="VALID">
          <idno type="IdRef">256304629</idno>
          <idno type="ISNI">0000000122034461</idno>
          <idno type="ROR">https://ror.org/01x441g73</idno>
          <orgName>Centrale Lille</orgName>
          <desc>
            <address>
              <addrLine>École Centrale de Lille - Cité Scientifique - CS 20048 59651 Villeneuve d'Ascq Cedex</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">https://centralelille.fr/</ref>
          </desc>
        </org>
        <org type="regroupinstitution" xml:id="struct-374570" status="VALID">
          <idno type="IdRef">223446556</idno>
          <idno type="ISNI">0000 0001 2242 6780</idno>
          <idno type="ROR">https://ror.org/02kzqn938</idno>
          <idno type="Wikidata">Q3551621</idno>
          <orgName>Université de Lille</orgName>
          <desc>
            <address>
              <addrLine>EPE Université de Lille. -- 42 rue Paul Duez, 59000 Lille</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">https://www.univ-lille.fr/</ref>
          </desc>
        </org>
        <org type="regroupinstitution" xml:id="struct-441569" status="VALID">
          <idno type="IdRef">02636817X</idno>
          <idno type="ISNI">0000000122597504</idno>
          <idno type="ROR">https://ror.org/02feahw73</idno>
          <orgName>Centre National de la Recherche Scientifique</orgName>
          <orgName type="acronym">CNRS</orgName>
          <date type="start">1939-10-19</date>
          <desc>
            <address>
              <country key="FR"/>
            </address>
            <ref type="url">https://www.cnrs.fr/</ref>
          </desc>
        </org>
        <org type="institution" xml:id="struct-1076752" status="VALID">
          <idno type="IdRef">20073511X</idno>
          <orgName>Ecole nationale supérieure Mines-Télécom Lille Douai</orgName>
          <orgName type="acronym">IMT Nord Europe</orgName>
          <date type="start">2021-09-01</date>
          <desc>
            <address>
              <addrLine>Cité Scientifique, Rue Guglielmo Marconi BP 20145 VILLENEUVE D’ASCQ</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">https://imt-nord-europe.fr/</ref>
          </desc>
          <listRelation>
            <relation active="#struct-302102" type="direct"/>
          </listRelation>
        </org>
        <org type="regroupinstitution" xml:id="struct-302102" status="VALID">
          <idno type="IdRef">192427156</idno>
          <idno type="ISNI">000000012202567X</idno>
          <idno type="ROR">https://ror.org/025vp2923</idno>
          <idno type="Wikidata">Q27962533</idno>
          <orgName>Institut Mines-Télécom [Paris]</orgName>
          <orgName type="acronym">IMT</orgName>
          <date type="start">2012-03-01</date>
          <desc>
            <address>
              <addrLine>19 Place Marguerite Perey, 91120 Palaiseau</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">https://www.imt.fr/</ref>
          </desc>
        </org>
      </listOrg>
    </back>
  </text>
</TEI>