<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Futhark Developer Blog</title>
    <subtitle><![CDATA[High-performance purely functional data-parallel array programming on the GPU]]></subtitle>
    <link href="http://futhark-lang.org/atom.xml" rel="self" />
    <link href="http://futhark-lang.org" />
    <id>http://futhark-lang.org/atom.xml</id>
    <author>
        <name>Troels Henriksen</name>
        
        <email>athas@sigkill.dk</email>
        
    </author>
    <updated>2026-10-02T00:00:00Z</updated>
    <entry>
    <title>Keeping Futhark off the GPU</title>
    <link href="http://futhark-lang.org/blog/2026-10-02-cpu_function.html" />
    <id>http://futhark-lang.org/blog/2026-10-02-cpu_function.html</id>
    <published>2026-10-02T00:00:00Z</published>
    <updated>2026-10-02T00:00:00Z</updated>
    <summary type="html"><![CDATA[A post about a hack that forces Futhark code to run sequentially.]]></summary>
</entry>
<entry>
    <title>Do not let your type system reason about aliasing in your programming language</title>
    <link href="http://futhark-lang.org/blog/2026-09-22-aliasing.html" />
    <id>http://futhark-lang.org/blog/2026-09-22-aliasing.html</id>
    <published>2026-09-22T00:00:00Z</published>
    <updated>2026-09-22T00:00:00Z</updated>
    <summary type="html"><![CDATA[I thought I was going to fix a small bug in a corner of Futhark, but it turned into a big mess that raises both practical and theoretical questions.]]></summary>
</entry>
<entry>
    <title>Towards Futhark 1.0</title>
    <link href="http://futhark-lang.org/blog/2026-08-26-towards-1.0.html" />
    <id>http://futhark-lang.org/blog/2026-08-26-towards-1.0.html</id>
    <published>2026-08-26T00:00:00Z</published>
    <updated>2026-08-26T00:00:00Z</updated>
    <summary type="html"><![CDATA[What needs to happen before the first stable release of Futhark.]]></summary>
</entry>
<entry>
    <title>How should Futhark expose irregular arrays to the programmer?</title>
    <link href="http://futhark-lang.org/blog/2026-08-12-flatmap.html" />
    <id>http://futhark-lang.org/blog/2026-08-12-flatmap.html</id>
    <published>2026-08-12T00:00:00Z</published>
    <updated>2026-08-12T00:00:00Z</updated>
    <summary type="html"><![CDATA[Now that we have flattening, maybe we should also let the user play with it directly.]]></summary>
</entry>
<entry>
    <title>Finally adding recursive functions to Futhark</title>
    <link href="http://futhark-lang.org/blog/2026-08-05-recursion.html" />
    <id>http://futhark-lang.org/blog/2026-08-05-recursion.html</id>
    <published>2026-08-05T00:00:00Z</published>
    <updated>2026-08-05T00:00:00Z</updated>
    <summary type="html"><![CDATA[For a long time, Futhark was highly unusual among functional languages by not supporting recursive functions, but this may change - although you still may not want to use recursive functions.]]></summary>
</entry>
<entry>
    <title>Full flattening of nested data parallelism</title>
    <link href="http://futhark-lang.org/blog/2026-07-31-full-flattening.html" />
    <id>http://futhark-lang.org/blog/2026-07-31-full-flattening.html</id>
    <published>2026-07-31T00:00:00Z</published>
    <updated>2026-07-31T00:00:00Z</updated>
    <summary type="html"><![CDATA[We finally caught our white whale, and now we can compile any Futhark program to GPU code (minor fine print applies).]]></summary>
</entry>
<entry>
    <title>Rewriting the Futhark type checker</title>
    <link href="http://futhark-lang.org/blog/2026-07-21-rewriting-the-type-checker.html" />
    <id>http://futhark-lang.org/blog/2026-07-21-rewriting-the-type-checker.html</id>
    <published>2026-07-21T00:00:00Z</published>
    <updated>2026-07-21T00:00:00Z</updated>
    <summary type="html"><![CDATA[A post about how the Futhark has evolved over time and some information on the most recent large reorganisation of its machinery.]]></summary>
</entry>
<entry>
    <title>The cost of constants</title>
    <link href="http://futhark-lang.org/blog/2026-07-04-the-cost-of-constants.html" />
    <id>http://futhark-lang.org/blog/2026-07-04-the-cost-of-constants.html</id>
    <published>2026-07-04T00:00:00Z</published>
    <updated>2026-07-04T00:00:00Z</updated>
    <summary type="html"><![CDATA[While assigning a cost model to constants in a programming language isn't exceedingly complicated, there are still some quirks that are interesting to think about.]]></summary>
</entry>
<entry>
    <title>Data parallel pretty-printing</title>
    <link href="http://futhark-lang.org/blog/2026-06-18-data-parallel-pretty-printing.html" />
    <id>http://futhark-lang.org/blog/2026-06-18-data-parallel-pretty-printing.html</id>
    <published>2026-06-18T00:00:00Z</published>
    <updated>2026-06-18T00:00:00Z</updated>
    <summary type="html"><![CDATA[A case study in how to pretty-print expression trees in Futhark.]]></summary>
</entry>
<entry>
    <title>Futhark 0.26.3 released - now with property-based testing</title>
    <link href="http://futhark-lang.org/blog/2026-05-27-futhark-0.26.3-released.html" />
    <id>http://futhark-lang.org/blog/2026-05-27-futhark-0.26.3-released.html</id>
    <published>2026-05-27T00:00:00Z</published>
    <updated>2026-05-27T00:00:00Z</updated>
    <summary type="html"><![CDATA[A quick release with not too much new stuff, but one very big things that I hope will eventually change how we test Futhark programs.]]></summary>
</entry>

</feed>
