Fork me on GitHub

Developer Blog

This is where we post announcements or guides that do not fit anywhere else. Blog posts are not necessarily updated when the language and compiler changes, so not all information may be up to date. If you find something that doesn't work, please notify us, and we'll fix it (if it's small) or put a notice in the blog post.

Atom feed.


Futhark 0.7.1 released, now with C# backend and efficient histograms on GPU

September 21, 2018

We sure did break compatibility this time. Read more...


The Futhark Debugger

September 16, 2018

We implemented some tooling to make it easier to debug faulty Futhark programs. Read more...


Futhark 0.6.3 released

August 24, 2018

We didn't even break compatibility this time. Read more...


The Present Futhark Package Manager

August 3, 2018

We wrote a package manager for Futhark. Read more...


The Future Futhark Package Manager

July 20, 2018

It's time to write a package manager for Futhark. Read more...


Futhark 0.6.1 released

July 9, 2018

Hot off the presses, get it while the cache is still warm! Read more...


Python gotta go faster

July 5, 2018

A higher-performance way to call Futhark from Python. Read more...


Designing a Programming Language for the Desert

June 18, 2018

The design of Futhark and its assorted tools is driven by constraints based on its narrow niche. This blog post explains some of them. Read more...


Futhark 0.5.1 released

May 31, 2018

We made another one! Read more...


Futhark 0.4.0 released

April 10, 2018

We released another version of Futhark, with very large improvements to the source language (higher-order functions and type inference). Read more...


Futhark with Fangs!

April 1, 2018

The first web framework (sort of) for Futhark. Also an attempt at bringing us into compliance with Wirth's Law. Read more...


Futhark 0.3.0 released

February 2, 2018

We released another version of Futhark. This one doesn't have that many externally visible changes, but still contains some solid improvements. Read more...


How Futhark manages GPU memory

January 28, 2018

We recently changed our memory allocation strategy for code generated by the Futhark compiler. The impact was fairly dramatic. Read more...


Reflections on a PhD accidentally spent on language design

December 27, 2017

I spent over three years on researching compiler optimisations, and accidentally also designed a programming language along the way. Here are some thoughts on how that came about. Read more...


A strategy for documenting Futhark

December 5, 2017

A discussion of our plans for how to structure Futhark's current and future documentation. Read more...


Futhark 0.2.0 released

November 19, 2017

We released another version of Futhark. This post elaborates on some of the changes. Read more...


Dot Notation for Records

November 11, 2017

Futhark has switched from using an SML-style notation for accessing the fields of records, to more conventional dot notation. This post discusses why, and the challenges we encountered. Read more...


Block Comments are a Bad Idea

October 10, 2017

Futhark does not support block comments, and this post elaborates why. Read more...


Futhark 0.1.0 released

October 4, 2017

Announcement for the first ever release of the Futhark compiler. Read more...


Calling Futhark from C and Haskell

September 26, 2017

We recently taught the Futhark native code generator how to generate reusable library code. This post shows how to call the generated code directly from C, or through Haskell's FFI. Any language that has a C FFI can use the same technique. Read more...


Streaming Combinators and Extracting Flat Parallelism

June 25, 2017

The presentation given at PLDI 2017 turned into a blog post. Basic introduction to Futhark, including novel parallel combinators used for efficient sequentialisation, as well as Futhark's approach to handling nested parallelism. Read more...


Language Design Checklist for Futhark

May 23, 2017

Filling out the Language Design Checklist form for Futhark. Read more...


Syntactic Support for Roman Numerals

April 1, 2017

The motivation behind Futhark's newest syntactical addition. Read more...


Videos from FOSDEM and Lambda Days now available

March 21, 2017

Videos from recent talks on Futhark have been published. Read more...


The Futhark Record System

March 6, 2017

The design of the record system in Futhark, with some notes on the design space and why we chose what we did. Read more...


The Futhark Module System

January 25, 2017

We recently added a higher-order module system to Futhark - this posts describes how it works, and why we chose the design we did. Read more...


Futhark at LambdaDays 2017

January 15, 2017

There will be a presentation on Futhark at the Lambda Days 2017 conference. Read more...


Futhark is going to FOSDEM'17

December 28, 2016

A Futhark presentation will be given at the HPC track at FOSDEM in 2017 Read more...


Two Syntax Design Problems in Futhark and Their Resolution

December 9, 2016

A tale of two times we had to put some serious thought into details of the Futhark syntax. Read more...


A Port of Falling Turnip to Futhark

December 4, 2016

Falling Turnip is a falling-sand style physics playground implemented using Haskell and the Repa library. I ported this program to Futhark and gave it a Pygame-based frontend. Read more...


Designing a Functional Language for GPU Execution

September 3, 2016

Why Futhark has so few features. Read more...


Futhark as target language for an APL compiler

June 20, 2016

We have been experimenting with using Futhark as an optimisation and code generation backend for a research APL compiler. Read more...


Creating Interactive Futhark GUIs

April 25, 2016

Using PyGame, NumPy, and PyOpenCL to interact with Futhark programs in simple graphical user interfaces. Read more...


Using Futhark with PyOpenCL

April 15, 2016

Compiling a Futhark program into an ordinary reusable Python module with calls to PyOpenCL. Read more...