Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- data MakeActions m = MakeActions {
- getInputTimestamp :: ModuleName -> m (Either RebuildPolicy (Maybe UTCTime))
- getOutputTimestamp :: ModuleName -> m (Maybe UTCTime)
- readExterns :: ModuleName -> m (FilePath, Externs)
- codegen :: Module Ann -> Module -> Externs -> SupplyT m ()
- ffiCodegen :: Module Ann -> 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
- checkForeignDecls :: Module ann -> FilePath -> 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 |
Instances
Eq RebuildPolicy Source # | |
Defined in Language.PureScript.Make.Actions (==) :: RebuildPolicy -> RebuildPolicy -> Bool # (/=) :: RebuildPolicy -> RebuildPolicy -> Bool # | |
Ord RebuildPolicy Source # | |
Defined in Language.PureScript.Make.Actions compare :: RebuildPolicy -> RebuildPolicy -> Ordering # (<) :: RebuildPolicy -> RebuildPolicy -> Bool # (<=) :: RebuildPolicy -> RebuildPolicy -> Bool # (>) :: RebuildPolicy -> RebuildPolicy -> Bool # (>=) :: RebuildPolicy -> RebuildPolicy -> Bool # max :: RebuildPolicy -> RebuildPolicy -> RebuildPolicy # min :: RebuildPolicy -> RebuildPolicy -> RebuildPolicy # | |
Show RebuildPolicy Source # | |
Defined in Language.PureScript.Make.Actions showsPrec :: Int -> RebuildPolicy -> ShowS # show :: RebuildPolicy -> String # showList :: [RebuildPolicy] -> ShowS # |
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 |
Instances
Eq ProgressMessage Source # | |
Defined in Language.PureScript.Make.Actions (==) :: ProgressMessage -> ProgressMessage -> Bool # (/=) :: ProgressMessage -> ProgressMessage -> Bool # | |
Ord ProgressMessage Source # | |
Defined in Language.PureScript.Make.Actions compare :: ProgressMessage -> ProgressMessage -> Ordering # (<) :: ProgressMessage -> ProgressMessage -> Bool # (<=) :: ProgressMessage -> ProgressMessage -> Bool # (>) :: ProgressMessage -> ProgressMessage -> Bool # (>=) :: ProgressMessage -> ProgressMessage -> Bool # max :: ProgressMessage -> ProgressMessage -> ProgressMessage # min :: ProgressMessage -> ProgressMessage -> ProgressMessage # | |
Show ProgressMessage Source # | |
Defined in Language.PureScript.Make.Actions showsPrec :: Int -> ProgressMessage -> ShowS # show :: ProgressMessage -> String # showList :: [ProgressMessage] -> ShowS # |
:: 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.