futhark-0.25.15: An optimising compiler for a functional, array-oriented language.
Safe HaskellSafe-Inferred
LanguageGHC2021

Futhark.Internalise

Description

This module implements a transformation from source to core Futhark.

The source and core language is similar in spirit, but the core language is much more regular (and mostly much simpler) in order to make it easier to write program transformations.

Specifically, internalisation generates the SOACS dialect of the core IR (Futhark.IR.SOACS). This is then initially used by the compiler middle-end. The main differences between the source and core IR are as follows:

Synopsis

Documentation

internaliseProg :: (MonadFreshNames m, MonadLogger m) => FutharkConfig -> Imports -> m (Prog SOACS) Source #

Convert a program in source Futhark to a program in the Futhark core language.