purescript-0.6.9: psci/Commands.hs
-----------------------------------------------------------------------------
--
-- Module : Commands
-- Copyright : (c) Phil Freeman 2014
-- License : MIT
--
-- Maintainer : Phil Freeman <paf31@cantab.net>
-- Stability : experimental
-- Portability :
--
-- |
-- Commands for PSCI.
--
-----------------------------------------------------------------------------
module Commands where
import Language.PureScript
-- |
-- Valid Meta-commands for PSCI
--
data Command
-- |
-- A purescript expression
--
= Expression Expr
-- |
-- Show the help command
--
| Help
-- |
-- Import a module from a loaded file
--
| Import ImportedModule
-- |
-- Browse a module
--
| Browse ModuleName
-- |
-- Load a file for use with importing
--
| LoadFile FilePath
-- |
-- Exit PSCI
--
| Quit
-- |
-- Reset the state of the REPL
--
| Reset
-- |
-- Add some declarations to the current evaluation context.
--
| Decls [Declaration]
-- |
-- Find the type of an expression
--
| TypeOf Expr
-- |
-- Find the kind of an expression
--
| KindOf Type
-- |
-- Show command
--
| Show String
-- | 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.
--
type ImportedModule = (ModuleName, ImportDeclarationType, Maybe ModuleName)