<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Joakim Ahnfelt-Rønne</title>
    <description>The latest articles on DEV Community by Joakim Ahnfelt-Rønne (@ahnfelt).</description>
    <link>https://dev.to/ahnfelt</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F436090%2Fc0d08868-3ee0-4f51-8e88-55f0a6913788.jpeg</url>
      <title>DEV Community: Joakim Ahnfelt-Rønne</title>
      <link>https://dev.to/ahnfelt</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ahnfelt"/>
    <language>en</language>
    <item>
      <title>Colorless async/await in Firefly</title>
      <dc:creator>Joakim Ahnfelt-Rønne</dc:creator>
      <pubDate>Wed, 16 Feb 2022 11:39:01 +0000</pubDate>
      <link>https://dev.to/ahnfelt/colorless-asyncawait-in-firefly-hmg</link>
      <guid>https://dev.to/ahnfelt/colorless-asyncawait-in-firefly-hmg</guid>
      <description>&lt;p&gt;In the last post, we sketched out the high level rules of the async/await inference. This post will show how it works under the hood for a concrete example that reads two files concurrently, and then concatenates the result:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;readTwo(system: System, file1: String, file2: String): String {
    let pair = system.tasks.concurrently(
        {system.files.readText(file1)},
        {system.files.readText(file2)}
    )
    pair.first + pair.second
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Continue reading: &lt;a href="https://www.ahnfelt.net/async-await-inference-in-firefly-part-2/"&gt;https://www.ahnfelt.net/async-await-inference-in-firefly-part-2/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>programminglanguages</category>
      <category>firefly</category>
      <category>javascript</category>
      <category>computerscience</category>
    </item>
    <item>
      <title>Async/await inference in Firefly</title>
      <dc:creator>Joakim Ahnfelt-Rønne</dc:creator>
      <pubDate>Mon, 14 Feb 2022 18:25:40 +0000</pubDate>
      <link>https://dev.to/ahnfelt/asyncawait-inference-in-firefly-hcc</link>
      <guid>https://dev.to/ahnfelt/asyncawait-inference-in-firefly-hcc</guid>
      <description>&lt;p&gt;Firefly is a new general purpose programming language that tries to achieve convenience and safety at the same time, by using pervasive dependency injection. There is no global access to the file system, the network, other processes or devices. Instead, you access these through a system object that is passed to the main function, which in turn can pass this object to other methods. The idea is to give the programmer fine grained control over which parts of the code can access what (Log4Shell anybody?), without introducing monads or other explicit effect tracking.&lt;/p&gt;

&lt;p&gt;Continue reading: &lt;a href="https://www.ahnfelt.net/async-await-inference-in-firefly/"&gt;https://www.ahnfelt.net/async-await-inference-in-firefly/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>programminglanguages</category>
      <category>firefly</category>
      <category>javascript</category>
      <category>computerscience</category>
    </item>
  </channel>
</rss>
