Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data MakeActions m = MakeActions {
- getInputTimestamp :: ModuleName -> m (Either RebuildPolicy (Maybe UTCTime))
- getOutputTimestamp :: ModuleName -> m (Maybe UTCTime)
- readExterns :: ModuleName -> m (FilePath, Externs)
- codegen :: Module Ann -> Environment -> Externs -> SupplyT m ()
- progress :: ProgressMessage -> m ()
- data RebuildPolicy
- type Externs = ByteString
- data ProgressMessage = CompilingModule ModuleName
- buildMakeActions :: FilePath -> Map ModuleName (Either RebuildPolicy FilePath) -> Map ModuleName FilePath -> Bool -> MakeActions Make
Documentation
data MakeActions m Source #
Actions that require implementations when running in "make" mode.
This type exists to make two things abstract:
- The particular backend being used (JavaScript, C++11, etc.)
- The details of how files are read/written etc.
MakeActions | |
|
data RebuildPolicy Source #
Determines when to rebuild a module
RebuildNever | Never rebuild this module |
RebuildAlways | Always rebuild this module |
type Externs = ByteString Source #
Generated code for an externs file.
data ProgressMessage Source #
Progress messages from the make process
CompilingModule ModuleName | Compilation started for the specified module |
:: FilePath | the output directory |
-> Map ModuleName (Either RebuildPolicy FilePath) | a map between module names and paths to the file containing the PureScript module |
-> Map ModuleName FilePath | a map between module name and the file containing the foreign javascript for the module |
-> Bool | Generate a prefix comment? |
-> MakeActions Make |
A set of make actions that read and write modules from the given directory.