ddc-build-0.3.2.1: Disciplined Disciple Compiler build framework.

Safe HaskellNone

DDC.Build.Pipeline.Core

Synopsis

Documentation

data PipeCore a n whereSource

Process a core module.

Constructors

PipeCoreId :: ![PipeCore a n] -> PipeCore a n 
PipeCoreOutput :: !Sink -> PipeCore a n 
PipeCoreCheck :: !(Fragment n err) -> ![PipeCore (AnTEC a n) n] -> PipeCore a n 
PipeCoreReCheck :: (Show a, NFData a) => !(Fragment n err) -> ![PipeCore (AnTEC a n) n] -> PipeCore (AnTEC a n') n 
PipeCoreReannotate :: (NFData b, Show b) => (a -> b) -> ![PipeCore b n] -> PipeCore a n 
PipeCoreSimplify :: !(Fragment n err) -> !s -> !(Simplifier s a n) -> ![PipeCore () n] -> PipeCore a n 
PipeCoreAsLite :: ![PipeLite] -> PipeCore (AnTEC () Name) Name 
PipeCoreAsFlow :: Pretty a => ![PipeFlow a] -> PipeCore a Name 
PipeCoreAsSalt :: Pretty a => ![PipeSalt a] -> PipeCore a Name 
PipeCoreHacks :: (NFData a, Show b, NFData b) => Canned (Module a n -> IO (Module b n)) -> ![PipeCore b n] -> PipeCore a n 

pipeCore :: (NFData a, Show a, NFData n, Eq n, Ord n, Show n, Pretty n) => Module a n -> PipeCore a n -> IO [Error]Source

Process a Core module.

Returns empty list on success.

pipeCores :: (NFData a, Show a, NFData n, Eq n, Ord n, Show n, Pretty n) => Module a n -> [PipeCore a n] -> IO [Error]Source

data PipeLite Source

Process a Core Lite module.

Constructors

PipeLiteOutput !Sink

Output the module in core language syntax.

PipeLiteToSalt !Platform !Config ![PipeCore () Name]

Convert the module to the Core Salt Fragment.

pipeLite :: Module (AnTEC () Name) Name -> PipeLite -> IO [Error]Source

Process a Core Lite module.

data PipeFlow a whereSource

Process a Core Flow module.

pipeFlow :: Module a Name -> PipeFlow a -> IO [Error]Source

Process a Core Flow module.