Safe Haskell | None |
---|---|
Language | Haskell2010 |
Type declarations and associated basic functions for PSCI.
- data PSCiConfig = PSCiConfig {}
- data PSCiState
- type ImportedModule = (ModuleName, ImportDeclarationType, Maybe ModuleName)
- psciExports :: PSCiState -> Exports
- psciImports :: PSCiState -> Imports
- psciLoadedExterns :: PSCiState -> [(Module, ExternsFile)]
- psciImportedModules :: PSCiState -> [ImportedModule]
- psciLetBindings :: PSCiState -> [Declaration]
- initialPSCiState :: PSCiState
- psciImportedModuleNames :: PSCiState -> [ModuleName]
- updateImportedModules :: ([ImportedModule] -> [ImportedModule]) -> PSCiState -> PSCiState
- updateLoadedExterns :: ([(Module, ExternsFile)] -> [(Module, ExternsFile)]) -> PSCiState -> PSCiState
- updateLets :: ([Declaration] -> [Declaration]) -> PSCiState -> PSCiState
- data Command
- data ReplQuery
- replQueries :: [ReplQuery]
- replQueryStrings :: [String]
- showReplQuery :: ReplQuery -> String
- parseReplQuery :: String -> Maybe ReplQuery
- data Directive
Documentation
data PSCiConfig Source #
The PSCI configuration.
These configuration values do not change during execution.
The PSCI state.
Holds a list of imported modules, loaded files, and partial let bindings. The let bindings are partial, because it makes more sense to apply the binding to the final evaluated expression.
The last two fields are derived from the first three via updateImportExports each time a module is imported, a let binding is added, or the session is cleared or reloaded
type ImportedModule = (ModuleName, ImportDeclarationType, Maybe ModuleName) Source #
All of the data that is contained by an ImportDeclaration in the AST. That is:
- A module name, the name of the module which is being imported
- An ImportDeclarationType which specifies whether there is an explicit import list, a hiding list, or neither.
- If the module is imported qualified, its qualified name in the importing module. Otherwise, Nothing.
psciExports :: PSCiState -> Exports Source #
psciImports :: PSCiState -> Imports Source #
psciLoadedExterns :: PSCiState -> [(Module, ExternsFile)] Source #
psciLetBindings :: PSCiState -> [Declaration] Source #
updateImportedModules :: ([ImportedModule] -> [ImportedModule]) -> PSCiState -> PSCiState Source #
Updates the imported modules in the state record.
updateLoadedExterns :: ([(Module, ExternsFile)] -> [(Module, ExternsFile)]) -> PSCiState -> PSCiState Source #
Updates the loaded externs files in the state record.
updateLets :: ([Declaration] -> [Declaration]) -> PSCiState -> PSCiState Source #
Updates the let bindings in the state record.
Valid Meta-commands for PSCI
Expression Expr | A purescript expression |
ShowHelp | Show the help (ie, list of directives) |
Import ImportedModule | Import a module from a loaded file |
BrowseModule ModuleName | Browse a module |
QuitPSCi | Exit PSCI |
ReloadState | Reload all the imported modules of the REPL |
ClearState | Clear the state of the REPL |
Decls [Declaration] | Add some declarations to the current evaluation context |
TypeOf Expr | Find the type of an expression |
KindOf Type | Find the kind of an expression |
ShowInfo ReplQuery | Shows information about the current state of the REPL |
PasteLines | Paste multiple lines |
CompleteStr String | Return auto-completion output as if pressing tab |
replQueries :: [ReplQuery] Source #
A list of all ReplQuery values.
replQueryStrings :: [String] Source #
showReplQuery :: ReplQuery -> String Source #