futhark-0.25.32: 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.

Modules
futhark-0.25.32
- Futhark
- AD
- Analysis
- Futhark.BenchTests
- IR
- Internalise
- Optimise
- Pkg
- Futhark.ProfileTests
- Language