<?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-00808983</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:28+02:00"/>
      </publicationStmt>
      <sourceDesc>
        <p part="N">HAL API Platform</p>
      </sourceDesc>
    </fileDesc>
  </teiHeader>
  <text>
    <body>
      <listBibl>
        <biblFull>
          <titleStmt>
            <title xml:lang="en">Taming aspects with monads and membranes</title>
            <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-12959"/>
            </author>
            <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>
            <editor role="depositor">
              <persName>
                <forename>Nicolas</forename>
                <surname>Tabareau</surname>
              </persName>
              <email type="md5">8b53e83f8a962f1ab5eba06c6af58fe8</email>
              <email type="domain">inria.fr</email>
            </editor>
            <funder>INRIA Associated team RAPIDS</funder>
          </titleStmt>
          <editionStmt>
            <edition n="v1" type="current">
              <date type="whenSubmitted">2013-04-08 12:31:47</date>
              <date type="whenModified">2025-04-04 18:30:14</date>
              <date type="whenReleased">2013-04-08 14:27:43</date>
              <date type="whenProduced">2013-03-26</date>
              <date type="whenEndEmbargoed">2013-04-08</date>
              <ref type="file" target="https://inria.hal.science/hal-00808983v1/document">
                <date notBefore="2013-04-08"/>
              </ref>
              <ref type="file" subtype="author" n="1" target="https://inria.hal.science/hal-00808983v1/file/main.pdf" id="file-808983-116705">
                <date notBefore="2013-04-08"/>
              </ref>
              <ref type="externalLink" target="https://hal.inria.fr/hal-00808983/file/main.pdf"/>
            </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-00808983</idno>
            <idno type="halUri">https://inria.hal.science/hal-00808983</idno>
            <idno type="halBibtex">figueroa:hal-00808983</idno>
            <idno type="halRefHtml">&lt;i&gt;FOAL'13: Foundations of aspect-oriented languages&lt;/i&gt;, Mar 2013, Fukuoka, Japan. &lt;a target="_blank" href="https://dx.doi.org/10.1145/2451598.2451600"&gt;&amp;#x27E8;10.1145/2451598.2451600&amp;#x27E9;&lt;/a&gt;</idno>
            <idno type="halRef">FOAL'13: Foundations of aspect-oriented languages, Mar 2013, Fukuoka, Japan. &amp;#x27E8;10.1145/2451598.2451600&amp;#x27E9;</idno>
            <availability status="restricted">
              <licence target="https://about.hal.science/hal-authorisation-v1/">HAL Authorization<ref corresp="#file-808983-116705"/></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="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="INSTITUT-MINES-TELECOM">Institut Mines Telecom</idno>
          </seriesStmt>
          <notesStmt>
            <note type="audience" n="2">International</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">Taming aspects with monads and membranes</title>
                <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-12959"/>
                </author>
                <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>
              </analytic>
              <monogr>
                <meeting>
                  <title>FOAL'13: Foundations of aspect-oriented languages</title>
                  <date type="start">2013-03-26</date>
                  <settlement>Fukuoka</settlement>
                  <country key="JP">Japan</country>
                </meeting>
                <imprint>
                  <publisher>ACM</publisher>
                  <date type="datePub">2013-03-26</date>
                </imprint>
              </monogr>
              <idno type="doi">10.1145/2451598.2451600</idno>
            </biblStruct>
          </sourceDesc>
          <profileDesc>
            <langUsage>
              <language ident="en">English</language>
            </langUsage>
            <textClass>
              <classCode scheme="acm" n="D.3.3">D.: Software/D.3: PROGRAMMING LANGUAGES/D.3.3: Language Constructs and Features</classCode>
              <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>When a software system is developed using several aspects, special care must be taken to ensure that the resulting behavior is correct. This is known as the aspect interference problem, and existing approaches essentially aim to detect whether a system exhibits problematic interferences of aspects. In this paper we describe how to control aspect interference by construction by relying on the type system. More precisely, we combine a monadic embedding of the pointcut/advice model in Haskell with the notion of membranes for aspect-oriented programming. Aspects must explicitly declare the side effectsa nd the context they can act upon. Allowed patterns of control flow interference are declared at the membrane level and statically enforced. Finally, computational interference between aspects is controlled by the membrane topology. To combine independent and reusable aspects and monadic components into a program specification we use monad views, a recent technique for conveniently handling the monadic stack.</p>
            </abstract>
          </profileDesc>
        </biblFull>
      </listBibl>
    </body>
    <back>
      <listOrg type="structures">
        <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="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="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>
        <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>
      </listOrg>
    </back>
  </text>
</TEI>