| Safe Haskell | None |
|---|---|
| Language | Haskell98 |
DDC.Driver.Command.Compile
- cmdCompileRecursive :: Config -> Bool -> Store -> FilePath -> ExceptT String IO ()
- cmdCompileRecursiveDS :: Config -> Bool -> Store -> [FilePath] -> [FilePath] -> ExceptT String IO ()
- cmdLoadOrCompile :: Config -> Bool -> Store -> FilePath -> ExceptT String IO ()
- cmdCompile :: Config -> Bool -> Store -> FilePath -> ExceptT String IO ()
- getModificationTimeIfExists :: FilePath -> IO (Maybe UTCTime)
Documentation
Arguments
| :: Config | Build driver config. |
| -> Bool | Build an exectable. |
| -> Store | Interface store. |
| -> FilePath | Path to file to compile |
| -> ExceptT String IO () |
Recursively compile source modules into .o files,
or load existing interfaces if we have them and the .o file is
still fresh.
- Interface files that are loaded or generated during compilation are added to the interface store.
cmdCompileRecursiveDS Source #
Arguments
| :: Config | Build driver config. |
| -> Bool | Build an executable. |
| -> Store | Inferface store. |
| -> [FilePath] | Names of source files still to load. |
| -> [FilePath] | Names of source files currently blocked. |
| -> ExceptT String IO () |
Recursively compile .ds source modules into .o files,
or load existing interfaces if we have them and the .o file is
still fresh.
- Interface files that are loaded or generated during compilation are added to the interface store.
Arguments
| :: Config | Build driver config. |
| -> Bool | Build an exeecutable. |
| -> Store | Interface store. |
| -> FilePath | Path to source file. |
| -> ExceptT String IO () |
Load the interface correponding to a source file, or re-compile the source if it's fresher than the interface.
- Interfaces for dependent modules must already be in the interface store.
Arguments
| :: Config | Build driver config. |
| -> Bool | Build an executable. |
| -> Store | Interface store. |
| -> FilePath | Path to source file. |
| -> ExceptT String IO () |
Compile a source module into a .o file.
- Interfaces for dependent modules must already be in the interface store.
- This produces an
.ofile next to the source file, and may also produce a.diinterface, depending on what sort of source file we're compiling. - If compilation produces an interface then it is added to the existing store.