<?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-00765862</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-16T08:47:30+02:00"/>
      </publicationStmt>
      <sourceDesc>
        <p part="N">HAL API Platform</p>
      </sourceDesc>
    </fileDesc>
  </teiHeader>
  <text>
    <body>
      <listBibl>
        <biblFull>
          <titleStmt>
            <title xml:lang="en">Anti-Unification with Type Classes</title>
            <author role="aut">
              <persName>
                <forename type="first">Nicolas</forename>
                <surname>Tabareau</surname>
              </persName>
              <email type="md5">8b53e83f8a962f1ab5eba06c6af58fe8</email>
              <email type="domain">inria.fr</email>
              <idno type="idhal" notation="string">nicolas-tabareau</idno>
              <idno type="idhal" notation="numeric">3252</idno>
              <idno type="halauthorid" notation="string">1406-3252</idno>
              <idno type="IDREF">https://www.idref.fr/130627526</idno>
              <idno type="ORCID">https://orcid.org/0000-0003-3366-2273</idno>
              <affiliation ref="#struct-86980"/>
              <affiliation ref="#struct-95421"/>
            </author>
            <author role="aut">
              <persName>
                <forename type="first">Éric</forename>
                <surname>Tanter</surname>
              </persName>
              <email type="md5">709aab309cc51243a42b9452cf3b5471</email>
              <email type="domain">dcc.uchile.cl</email>
              <idno type="idhal" notation="string">eric-tanter</idno>
              <idno type="idhal" notation="numeric">15892</idno>
              <idno type="halauthorid" notation="string">2157-15892</idno>
              <idno type="ORCID">https://orcid.org/0000-0002-7359-890X</idno>
              <idno type="IDREF">https://www.idref.fr/083627189</idno>
              <orgName ref="#struct-308666"/>
              <affiliation ref="#struct-12959"/>
            </author>
            <author role="aut">
              <persName>
                <forename type="first">Ismael</forename>
                <surname>Figueroa</surname>
              </persName>
              <idno type="idhal" notation="numeric">766085</idno>
              <idno type="halauthorid" notation="string">630928-766085</idno>
              <idno type="IDREF">https://www.idref.fr/179793187</idno>
              <affiliation ref="#struct-86980"/>
              <affiliation ref="#struct-12959"/>
            </author>
            <editor role="depositor">
              <persName>
                <forename>Nicolas</forename>
                <surname>Tabareau</surname>
              </persName>
              <email type="md5">8b53e83f8a962f1ab5eba06c6af58fe8</email>
              <email type="domain">inria.fr</email>
            </editor>
          </titleStmt>
          <editionStmt>
            <edition n="v1" type="current">
              <date type="whenSubmitted">2012-12-17 09:44:03</date>
              <date type="whenModified">2025-04-04 18:29:45</date>
              <date type="whenReleased">2012-12-18 10:44:35</date>
              <date type="whenProduced">2013-02-03</date>
              <date type="whenEndEmbargoed">2012-12-17</date>
              <ref type="file" target="https://inria.hal.science/hal-00765862v1/document">
                <date notBefore="2012-12-17"/>
              </ref>
              <ref type="file" subtype="author" n="1" target="https://inria.hal.science/hal-00765862v1/file/main.pdf" id="file-765862-642746">
                <date notBefore="2012-12-17"/>
              </ref>
            </edition>
            <respStmt>
              <resp>contributor</resp>
              <name key="108174">
                <persName>
                  <forename>Nicolas</forename>
                  <surname>Tabareau</surname>
                </persName>
                <email type="md5">8b53e83f8a962f1ab5eba06c6af58fe8</email>
                <email type="domain">inria.fr</email>
              </name>
            </respStmt>
          </editionStmt>
          <publicationStmt>
            <distributor>CCSD</distributor>
            <idno type="halId">hal-00765862</idno>
            <idno type="halUri">https://inria.hal.science/hal-00765862</idno>
            <idno type="halBibtex">tabareau:hal-00765862</idno>
            <idno type="halRefHtml">&lt;i&gt;Journées Francophones des Langages Applicatifs (JFLA)&lt;/i&gt;, Feb 2013, Aussois, France</idno>
            <idno type="halRef">Journées Francophones des Langages Applicatifs (JFLA), Feb 2013, Aussois, France</idno>
            <availability status="restricted">
              <licence target="https://about.hal.science/hal-authorisation-v1/">HAL Authorization<ref corresp="#file-765862-642746"/></licence>
            </availability>
          </publicationStmt>
          <seriesStmt>
            <idno type="stamp" n="UNIV-NANTES">Université de Nantes</idno>
            <idno type="stamp" n="MINES-NANTES">Ecole des Mines de Nantes</idno>
            <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-RENNES">INRIA Rennes - Bretagne Atlantique</idno>
            <idno type="stamp" n="LINA" corresp="UNIV-NANTES">Laboratoire d'Informatique de Nantes Atlantique</idno>
            <idno type="stamp" n="LINA-ASCOLA" corresp="LINA">LINA - Langages d'Aspects et de Composants</idno>
            <idno type="stamp" n="INRIA_TEST">INRIA - Institut National de Recherche en Informatique et en Automatique</idno>
            <idno type="stamp" n="JFLA2013" corresp="JFLA">JFLA 2013 - Journées Francophones des Langages Applicatifs</idno>
            <idno type="stamp" n="TESTALAIN1">TESTALAIN1</idno>
            <idno type="stamp" n="INFO" corresp="MINES-NANTES">Département informatique</idno>
            <idno type="stamp" n="INRIA-CHILE">INRIA Chile</idno>
            <idno type="stamp" n="INRIA2">INRIA 2</idno>
            <idno type="stamp" n="LS2N">Laboratoire des Sciences du Numérique de Nantes</idno>
            <idno type="stamp" n="IMTA_DAPI">IMT Atlantique - Département automatique, productique et informatique</idno>
            <idno type="stamp" n="LS2N-IMTA">LS2N - IMT Atlantique</idno>
            <idno type="stamp" n="INRIA-RENGRE">INRIA-RENGRE</idno>
            <idno type="stamp" n="IMT-ATLANTIQUE" corresp="INSTITUT-MINES-TELECOM">IMT-ATLANTIQUE</idno>
            <idno type="stamp" n="NANTES-UNIVERSITE">Nantes Université</idno>
            <idno type="stamp" n="UNIV-NANTES-AV2022">Université de Nantes</idno>
            <idno type="stamp" n="JFLA">Journées Francophones des Langages Applicatifs</idno>
            <idno type="stamp" n="INSTITUT-MINES-TELECOM">Institut Mines Telecom</idno>
          </seriesStmt>
          <notesStmt>
            <note type="audience" n="3">National</note>
            <note type="invited" n="0">No</note>
            <note type="popular" n="0">No</note>
            <note type="peer" n="1">Yes</note>
            <note type="proceedings" n="1">Yes</note>
          </notesStmt>
          <sourceDesc>
            <biblStruct>
              <analytic>
                <title xml:lang="en">Anti-Unification with Type Classes</title>
                <author role="aut">
                  <persName>
                    <forename type="first">Nicolas</forename>
                    <surname>Tabareau</surname>
                  </persName>
                  <email type="md5">8b53e83f8a962f1ab5eba06c6af58fe8</email>
                  <email type="domain">inria.fr</email>
                  <idno type="idhal" notation="string">nicolas-tabareau</idno>
                  <idno type="idhal" notation="numeric">3252</idno>
                  <idno type="halauthorid" notation="string">1406-3252</idno>
                  <idno type="IDREF">https://www.idref.fr/130627526</idno>
                  <idno type="ORCID">https://orcid.org/0000-0003-3366-2273</idno>
                  <affiliation ref="#struct-86980"/>
                  <affiliation ref="#struct-95421"/>
                </author>
                <author role="aut">
                  <persName>
                    <forename type="first">Éric</forename>
                    <surname>Tanter</surname>
                  </persName>
                  <email type="md5">709aab309cc51243a42b9452cf3b5471</email>
                  <email type="domain">dcc.uchile.cl</email>
                  <idno type="idhal" notation="string">eric-tanter</idno>
                  <idno type="idhal" notation="numeric">15892</idno>
                  <idno type="halauthorid" notation="string">2157-15892</idno>
                  <idno type="ORCID">https://orcid.org/0000-0002-7359-890X</idno>
                  <idno type="IDREF">https://www.idref.fr/083627189</idno>
                  <orgName ref="#struct-308666"/>
                  <affiliation ref="#struct-12959"/>
                </author>
                <author role="aut">
                  <persName>
                    <forename type="first">Ismael</forename>
                    <surname>Figueroa</surname>
                  </persName>
                  <idno type="idhal" notation="numeric">766085</idno>
                  <idno type="halauthorid" notation="string">630928-766085</idno>
                  <idno type="IDREF">https://www.idref.fr/179793187</idno>
                  <affiliation ref="#struct-86980"/>
                  <affiliation ref="#struct-12959"/>
                </author>
              </analytic>
              <monogr>
                <idno type="localRef">ACTI</idno>
                <meeting>
                  <title>Journées Francophones des Langages Applicatifs (JFLA)</title>
                  <date type="start">2013-02-03</date>
                  <date type="end">2013-02-06</date>
                  <settlement>Aussois</settlement>
                  <country key="FR">France</country>
                </meeting>
                <imprint>
                  <date type="datePub">2013-02-05</date>
                </imprint>
              </monogr>
            </biblStruct>
          </sourceDesc>
          <profileDesc>
            <langUsage>
              <language ident="en">English</language>
            </langUsage>
            <textClass>
              <classCode scheme="halDomain" n="info.info-pl">Computer Science [cs]/Programming Languages [cs.PL]</classCode>
              <classCode scheme="halTypology" n="COMM">Conference papers</classCode>
              <classCode scheme="halOldTypology" n="COMM">Conference papers</classCode>
              <classCode scheme="halTreeTypology" n="COMM">Conference papers</classCode>
            </textClass>
            <abstract xml:lang="en">
              <p>The anti-unification problem is that of finding the most specific pattern of two terms. While dual to the unification problem, anti-unification has rarely been considered at the level of types. In this paper, we present an algorithm to compute the least general type of two types in Haskell, using the logic programming power of type classes. That is, we define a type class for which the type class instances resolution performs anti-unification. We then use this type class to define a type-safe embedding of aspects in Haskell.</p>
            </abstract>
          </profileDesc>
        </biblFull>
      </listBibl>
    </body>
    <back>
      <listOrg type="structures">
        <org type="researchteam" xml:id="struct-86980" status="OLD">
          <idno type="RNSR">200918989F</idno>
          <orgName>Aspect and composition languages</orgName>
          <orgName type="acronym">ASCOLA</orgName>
          <desc>
            <address>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.inria.fr/equipes/ascola</ref>
          </desc>
          <listRelation>
            <relation active="#struct-95421" type="direct"/>
            <relation active="#struct-84538" type="indirect"/>
            <relation active="#struct-97058" type="indirect"/>
            <relation active="#struct-93263" type="indirect"/>
            <relation name="UMR6241" active="#struct-441569" type="indirect"/>
            <relation active="#struct-95953" type="direct"/>
            <relation active="#struct-419153" type="direct"/>
            <relation active="#struct-300009" type="indirect"/>
          </listRelation>
        </org>
        <org type="laboratory" xml:id="struct-95421" status="OLD">
          <orgName>Laboratoire d'Informatique de Nantes Atlantique</orgName>
          <orgName type="acronym">LINA</orgName>
          <date type="end">2016-12-31</date>
          <desc>
            <address>
              <addrLine>LINA - Faculté des Sciences 2 rue de la Houssinière - BP 92208 44322 NANTES CEDEX 3</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.sciences.univ-nantes.fr/lina</ref>
          </desc>
          <listRelation>
            <relation active="#struct-84538" type="direct"/>
            <relation active="#struct-97058" type="direct"/>
            <relation active="#struct-93263" type="indirect"/>
            <relation name="UMR6241" active="#struct-441569" type="direct"/>
          </listRelation>
        </org>
        <org type="laboratory" xml:id="struct-12959" status="VALID">
          <orgName>Computer Science Department [Santiago]</orgName>
          <orgName type="acronym">DCC</orgName>
          <desc>
            <address>
              <addrLine>Avenida Blanco Encalada 2120, Tercer Piso, Santiago, Chile</addrLine>
              <country key="CL"/>
            </address>
            <ref type="url">http://www.dcc.uchile.cl/</ref>
          </desc>
          <listRelation>
            <relation active="#struct-502672" type="direct"/>
            <relation active="#struct-142796" type="indirect"/>
          </listRelation>
        </org>
        <org type="institution" xml:id="struct-84538" status="OLD">
          <orgName>Mines Nantes</orgName>
          <orgName type="acronym">Mines Nantes</orgName>
          <date type="start">1991-10-08</date>
          <date type="end">2016-12-31</date>
          <desc>
            <address>
              <addrLine>La Chantrerie - 4, rue Alfred Kastler - BP 20722 - 44307 Nantes cedex 3</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.mines-nantes.fr/</ref>
          </desc>
        </org>
        <org type="regrouplaboratory" xml:id="struct-97058" status="OLD">
          <orgName>Université de Nantes - UFR des Sciences et des Techniques</orgName>
          <orgName type="acronym">UN UFR ST</orgName>
          <date type="end">2021-12-31</date>
          <desc>
            <address>
              <addrLine>2, rue de la Houssinière - BP 92208 - 44322 Nantes cedex 3</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.sciences-techniques.univ-nantes.fr/</ref>
          </desc>
          <listRelation>
            <relation active="#struct-93263" type="direct"/>
          </listRelation>
        </org>
        <org type="institution" xml:id="struct-93263" status="OLD">
          <idno type="IdRef">026403447</idno>
          <idno type="ROR">https://ror.org/03gnr7b55</idno>
          <orgName>Université de Nantes</orgName>
          <orgName type="acronym">UN</orgName>
          <date type="end">2021-12-31</date>
          <desc>
            <address>
              <addrLine>1, quai de Tourville - BP 13522 - 44035 Nantes cedex 1</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.univ-nantes.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="department" xml:id="struct-95953" status="OLD">
          <orgName>Département informatique - EMN</orgName>
          <desc>
            <address>
              <addrLine>4 rue Alfred Kastler, BP 20722 44307 NANTES Cedex</addrLine>
              <country key="FR"/>
            </address>
          </desc>
          <listRelation>
            <relation active="#struct-84538" type="direct"/>
          </listRelation>
        </org>
        <org type="laboratory" xml:id="struct-419153" status="VALID">
          <idno type="RNSR">198018249C</idno>
          <idno type="ROR">https://ror.org/04040yw90</idno>
          <orgName>Centre Inria de l'Université de Rennes</orgName>
          <desc>
            <address>
              <addrLine>Campus de beaulieu35042 Rennes cedex</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.inria.fr/centre/rennes</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-502672" status="VALID">
          <orgName>Faculty of Science</orgName>
          <desc>
            <address>
              <addrLine>Las Palmeras 3425, Ñuñoa, Santiago</addrLine>
              <country key="CL"/>
            </address>
            <ref type="url">https://ciencias.uchile.cl/</ref>
          </desc>
          <listRelation>
            <relation active="#struct-142796" type="direct"/>
          </listRelation>
        </org>
        <org type="regroupinstitution" xml:id="struct-142796" status="VALID">
          <idno type="ROR">https://ror.org/047gc3g35</idno>
          <orgName>Universidad de Chile = University of Chile [Santiago]</orgName>
          <orgName type="acronym">UCHILE</orgName>
          <desc>
            <address>
              <addrLine>Av. Libertador Bernardo O'Higgins 1058, Santiago de Chile</addrLine>
              <country key="CL"/>
            </address>
            <ref type="url">http://www.uchile.cl/</ref>
          </desc>
        </org>
      </listOrg>
    </back>
  </text>
</TEI>