<?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-01821490</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-21T07:16:53+02:00"/>
      </publicationStmt>
      <sourceDesc>
        <p part="N">HAL API Platform</p>
      </sourceDesc>
    </fileDesc>
  </teiHeader>
  <text>
    <body>
      <listBibl>
        <biblFull>
          <titleStmt>
            <title xml:lang="en">Forward to a Promising Future</title>
            <author role="aut">
              <persName>
                <forename type="first">Kiko</forename>
                <surname>Fernandez-Reyes</surname>
              </persName>
              <idno type="halauthorid">1257307-0</idno>
              <affiliation ref="#struct-50873"/>
            </author>
            <author role="aut">
              <persName>
                <forename type="first">Dave</forename>
                <surname>Clarke</surname>
              </persName>
              <email type="md5">f76044c3cb5b126e63741d267fd8d09e</email>
              <email type="domain">it.uu.se</email>
              <idno type="idhal" notation="numeric">1033644</idno>
              <idno type="halauthorid" notation="string">781467-1033644</idno>
              <affiliation ref="#struct-50873"/>
            </author>
            <author role="aut">
              <persName>
                <forename type="first">Elias</forename>
                <surname>Castegren</surname>
              </persName>
              <idno type="halauthorid">1385979-0</idno>
              <affiliation ref="#struct-50873"/>
            </author>
            <author role="aut">
              <persName>
                <forename type="first">Huu-Phuc</forename>
                <surname>Vo</surname>
              </persName>
              <idno type="halauthorid">1385980-0</idno>
              <affiliation ref="#struct-50873"/>
            </author>
            <editor role="depositor">
              <persName>
                <forename>Hal</forename>
                <surname>Ifip</surname>
              </persName>
              <email type="md5">2073ac78024b6e13f2714db96e9b1e63</email>
              <email type="domain">inria.fr</email>
            </editor>
          </titleStmt>
          <editionStmt>
            <edition n="v1" type="current">
              <date type="whenSubmitted">2018-06-22 14:55:41</date>
              <date type="whenModified">2018-06-22 15:09:23</date>
              <date type="whenReleased">2018-06-22 15:02:29</date>
              <date type="whenProduced">2018-06-18</date>
              <date type="whenEndEmbargoed">2021-01-01</date>
              <ref type="file" target="https://inria.hal.science/hal-01821490v1/document">
                <date notBefore="2021-01-01"/>
              </ref>
              <ref type="file" subtype="author" n="1" target="https://inria.hal.science/hal-01821490v1/file/468924_1_En_7_Chapter.pdf" id="file-1821490-1848960">
                <date notBefore="2021-01-01"/>
              </ref>
              <ref type="externalLink" target="http://uu.diva-portal.org/smash/get/diva2:1209721/FULLTEXT02"/>
            </edition>
            <respStmt>
              <resp>contributor</resp>
              <name key="200187">
                <persName>
                  <forename>Hal</forename>
                  <surname>Ifip</surname>
                </persName>
                <email type="md5">2073ac78024b6e13f2714db96e9b1e63</email>
                <email type="domain">inria.fr</email>
              </name>
            </respStmt>
          </editionStmt>
          <publicationStmt>
            <distributor>CCSD</distributor>
            <idno type="halId">hal-01821490</idno>
            <idno type="halUri">https://inria.hal.science/hal-01821490</idno>
            <idno type="halBibtex">fernandezreyes:hal-01821490</idno>
            <idno type="halRefHtml">&lt;i&gt;20th International Conference on Coordination Languages and Models (COORDINATION)&lt;/i&gt;, Jun 2018, Madrid, Spain. pp.162-180, &lt;a target="_blank" href="https://dx.doi.org/10.1007/978-3-319-92408-3_7"&gt;&amp;#x27E8;10.1007/978-3-319-92408-3_7&amp;#x27E9;&lt;/a&gt;</idno>
            <idno type="halRef">20th International Conference on Coordination Languages and Models (COORDINATION), Jun 2018, Madrid, Spain. pp.162-180, &amp;#x27E8;10.1007/978-3-319-92408-3_7&amp;#x27E9;</idno>
            <availability status="restricted">
              <licence target="https://creativecommons.org/licenses/by/4.0/">CC BY 4.0 - Attribution<ref corresp="#file-1821490-1848960"/></licence>
            </availability>
          </publicationStmt>
          <seriesStmt>
            <idno type="stamp" n="IFIP-LNCS" corresp="IFIP">IFIP - Lecture Notes in Computer Science</idno>
            <idno type="stamp" n="IFIP">IFIP - International Federation for Information Processing</idno>
            <idno type="stamp" n="IFIP-TC" corresp="IFIP">IFIP Technical Committees </idno>
            <idno type="stamp" n="IFIP-WG" corresp="IFIP">Working Groups</idno>
            <idno type="stamp" n="IFIP-TC6" corresp="IFIP-TC">TC 6: Communication Systems</idno>
            <idno type="stamp" n="IFIP-WG6-1" corresp="IFIP-WG">Architectures and Protocols for Distributed Systems</idno>
            <idno type="stamp" n="IFIP-COORDINATION" corresp="IFIP">COORDINATION: Conference on Coordination Models and Languages</idno>
            <idno type="stamp" n="IFIP-DISCOTEC">International Federated Conference on Distributed Computing Techniques</idno>
            <idno type="stamp" n="IFIP-LNCS-10852" corresp="IFIP-LNCS">Coordination Models and Languages (COORDINATION 2018)</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">Forward to a Promising Future</title>
                <author role="aut">
                  <persName>
                    <forename type="first">Kiko</forename>
                    <surname>Fernandez-Reyes</surname>
                  </persName>
                  <idno type="halauthorid">1257307-0</idno>
                  <affiliation ref="#struct-50873"/>
                </author>
                <author role="aut">
                  <persName>
                    <forename type="first">Dave</forename>
                    <surname>Clarke</surname>
                  </persName>
                  <email type="md5">f76044c3cb5b126e63741d267fd8d09e</email>
                  <email type="domain">it.uu.se</email>
                  <idno type="idhal" notation="numeric">1033644</idno>
                  <idno type="halauthorid" notation="string">781467-1033644</idno>
                  <affiliation ref="#struct-50873"/>
                </author>
                <author role="aut">
                  <persName>
                    <forename type="first">Elias</forename>
                    <surname>Castegren</surname>
                  </persName>
                  <idno type="halauthorid">1385979-0</idno>
                  <affiliation ref="#struct-50873"/>
                </author>
                <author role="aut">
                  <persName>
                    <forename type="first">Huu-Phuc</forename>
                    <surname>Vo</surname>
                  </persName>
                  <idno type="halauthorid">1385980-0</idno>
                  <affiliation ref="#struct-50873"/>
                </author>
              </analytic>
              <monogr>
                <title level="m">Lecture Notes in Computer Science</title>
                <meeting>
                  <title>20th International Conference on Coordination Languages and Models (COORDINATION)</title>
                  <date type="start">2018-06-18</date>
                  <date type="end">2018-06-21</date>
                  <settlement>Madrid</settlement>
                  <country key="ES">Spain</country>
                </meeting>
                <editor>Giovanna Di Marzo Serugendo</editor>
                <editor>Michele Loreti</editor>
                <imprint>
                  <publisher>Springer International Publishing</publisher>
                  <biblScope unit="serie">Coordination Models and Languages</biblScope>
                  <biblScope unit="volume">LNCS-10852</biblScope>
                  <biblScope unit="pp">162-180</biblScope>
                  <date type="datePub">2018</date>
                </imprint>
              </monogr>
              <idno type="doi">10.1007/978-3-319-92408-3_7</idno>
            </biblStruct>
          </sourceDesc>
          <profileDesc>
            <langUsage>
              <language ident="en">English</language>
            </langUsage>
            <textClass>
              <classCode scheme="halDomain" n="info">Computer Science [cs]</classCode>
              <classCode scheme="halDomain" n="info.info-ni">Computer Science [cs]/Networking and Internet Architecture [cs.NI]</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>In many actor-based programming models, asynchronous method calls communicate their results using futures, where the fulfilment occurs under-the-hood. Promises play a similar role to futures, except that they must be explicitly created and explicitly fulfilled; this makes promises more flexible than futures, though promises lack fulfilment guarantees: they can be fulfilled once, multiple times or not at all. Unfortunately, futures are too rigid to exploit many available concurrent and parallel patterns. For instance, many computations block on a future to get its result only to return that result immediately (to fulfil their own future). To make futures more flexible, we explore a construct, forward, that delegates the responsibility for fulfilling the current implicit future to another computation. Forward reduces synchronisation and gives futures promise-like capabilities. This paper presents a formalisation of the forward construct, defined in a high-level source language, and a compilation strategy from the high-level language to a low-level, promised-based target language. The translation is shown to preserve semantics. Based on this foundation, we describe the implementation of forward in the parallel, actor-based language Encore, which compiles to C.</p>
            </abstract>
            <particDesc>
              <org type="consortium">TC 6</org>
              <org type="consortium">WG 6.1</org>
            </particDesc>
          </profileDesc>
        </biblFull>
      </listBibl>
    </body>
    <back>
      <listOrg type="structures">
        <org type="institution" xml:id="struct-50873" status="VALID">
          <idno type="IdRef">026431661</idno>
          <idno type="ROR">https://ror.org/048a87296</idno>
          <orgName>Uppsala University</orgName>
          <desc>
            <address>
              <addrLine>Box 256, SE-751 05 Uppsala</addrLine>
              <country key="SE"/>
            </address>
            <ref type="url">http://www.uu.se/en/</ref>
          </desc>
        </org>
      </listOrg>
    </back>
  </text>
</TEI>