|
Module SCL/ModuleRepositoryThis module is undocumented. This is a list of its definitions. documentationOfSCLValue :: SCLValue -> <Proc> String flushDefaultModuleRepository :: <Proc> () Discards everything the module repository the calling module was compiled in has compiled, so that every module is compiled again when it is next needed. Meant for testing, not for normal operation. flushModuleRepository :: ModuleRepository -> <Proc> () Discards everything the given module repository has compiled, so that every module is compiled again when it is next needed. Meant for testing, not for normal operation. invalidateModule :: String -> <Proc> () Marks a module as changed. The module, and everything that depends on it, is compiled
again the next time it is needed -- which is how an edited moduleByName :: String -> <Proc> Maybe Module The compiled form of the named module, from the module repository the calling
module was compiled in, or moduleCompilationErrors :: String -> <Proc> [(String, Integer, Integer, String)] The same errors as moduleCompilationReport :: [String] -> <Proc> String One line per module -- moduleCompilationStatus :: String -> <Proc> Maybe String
This reads no log and compiles nothing a second time: it reports the verdict the repository is already holding, compiling the module only if nobody has needed it yet. moduleExists :: String -> <Proc> Boolean Whether the compiler knows this module at all. A misspelled module name answers False here instead of looking like a module that fails to compile. possibleModuleSourceText :: String -> <Proc> Maybe String The source text of the named module, from the source repository of the module
repository the calling module was compiled in, or possibleUnsafeSclValueByName :: String -> <Proc> Maybe a Like recompileModule :: String -> <Proc> Maybe String Reads a module again from its source and reports the result: recompileModules :: [String] -> <Proc> String Reads every one of these modules again and reports them all. Invalidating the whole list before compiling any of it matters: where one of them imports another, the importer has to be read again after the module it imports, or it is checked against the version that was just replaced. sclModuleNames :: <Proc> [String] The names of the modules provided by the source repository of the module repository the calling module was compiled in. Some source repositories give an empty list even when they do provide modules. sclValueRef :: String -> <Proc> Maybe SCLValue unsafeSclValueByName :: String -> <Proc> a The value with the given full name The result is not type checked: the caller decides what type it is used at, and getting that wrong fails later. Fails if the name is not a valid full value name, or if the module does not exist, does not compile or does not define the value. |