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

Safe Haskell | None
Language | GHC2021

Futhark.Compiler.Config

Description

Configuration of compiler behaviour that is universal to all backends.

Synopsis

- data FutharkConfig = FutharkConfig {
  - futharkVerbose :: (Verbosity, Maybe FilePath)
  - futharkWarn :: Bool
  - futharkWerror :: Bool
  - futharkSafe :: Bool
  - futharkEntryPoints :: [Name]
  - futharkTypeCheck :: Bool
  }
- newFutharkConfig :: FutharkConfig
- data Verbosity
  - = NotVerbose
  - | Verbose
  - | VeryVerbose
- data CompilerMode
  - = ToLibrary
  - | ToExecutable
  - | ToServer

# Documentation

data FutharkConfig Source #

The compiler configuration. This only contains options related to core compiler functionality, such as reading the initial program and running passes. Options related to code generation are handled elsewhere.

Constructors

FutharkConfig |

Fields

- futharkVerbose :: (Verbosity, Maybe FilePath)
- futharkWarn :: Bool

  Warn if True.

- futharkWerror :: Bool

  If true, error on any warnings.

- futharkSafe :: Bool

  If True, ignore `unsafe`.

- futharkEntryPoints :: [Name]

  Additional functions that should be exposed as entry points.

- futharkTypeCheck :: Bool

  If false, disable type-checking

newFutharkConfig :: FutharkConfig Source #

The default compiler configuration.

data Verbosity Source #

How much information to print to stderr while the compiler is running.

Constructors

NotVerbose | Silence is golden.
Verbose | Print messages about which pass is running.
VeryVerbose | Also print logs from individual passes.

#### Instances

Instances details

Eq Verbosity Source # |
Instance details Defined in Futhark.Compiler.Config Methods (==) :: Verbosity -> Verbosity -> Bool Source # (/=) :: Verbosity -> Verbosity -> Bool Source #
Ord Verbosity Source # |

Instance details

Defined in Futhark.Compiler.Config

Methods

compare :: Verbosity -> Verbosity -> Ordering Source #

(<) :: Verbosity -> Verbosity -> Bool Source #

(<=) :: Verbosity -> Verbosity -> Bool Source #

(>) :: Verbosity -> Verbosity -> Bool Source #

(>=) :: Verbosity -> Verbosity -> Bool Source #

max :: Verbosity -> Verbosity -> Verbosity Source #

min :: Verbosity -> Verbosity -> Verbosity Source #

data CompilerMode Source #

Are we compiling a library or an executable?

Constructors

ToLibrary |
ToExecutable |
ToServer |

#### Instances

Instances details

Show CompilerMode Source # |
Instance details Defined in Futhark.Compiler.Config Methods showsPrec :: Int -> CompilerMode -> ShowS Source # show :: CompilerMode -> String Source # showList :: [CompilerMode] -> ShowS Source #
Eq CompilerMode Source # |
Instance details Defined in Futhark.Compiler.Config Methods (==) :: CompilerMode -> CompilerMode -> Bool Source # (/=) :: CompilerMode -> CompilerMode -> Bool Source #
Ord CompilerMode Source # |

Instance details

Defined in Futhark.Compiler.Config

Methods

compare :: CompilerMode -> CompilerMode -> Ordering Source #

(<) :: CompilerMode -> CompilerMode -> Bool Source #

(<=) :: CompilerMode -> CompilerMode -> Bool Source #

(>) :: CompilerMode -> CompilerMode -> Bool Source #

(>=) :: CompilerMode -> CompilerMode -> Bool Source #

max :: CompilerMode -> CompilerMode -> CompilerMode Source #

min :: CompilerMode -> CompilerMode -> CompilerMode Source #