@hackage futhark0.25.24

An optimising compiler for a functional, array-oriented language.

Futhark is a small programming language designed to be compiled to efficient parallel code. It is a statically typed, data-parallel, and purely functional array language in the ML family, and comes with a heavily optimising ahead-of-time compiler that presently generates GPU code via CUDA and OpenCL, although the language itself is hardware-agnostic.

For more information, see the website at https://futhark-lang.org

For introductionary information about hacking on the Futhark compiler, see the hacking guide. Regarding the internal design of the compiler, the following modules make good starting points:

  • Futhark contains a basic architectural overview of the compiler.

  • Futhark.IR.Syntax explains the basic design of the intermediate representation (IR).

  • Futhark.Construct explains how to write code that manipulates and creates AST fragments.