-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | A Haskell shell based on shell-conduit -- @package hell @version 2.1 module Hell.Types -- | Shell config. data Config Config :: ![String] -> String -> FilePath -> (String -> FilePath -> Hell String) -> Config -- | Starting imports. configImports :: Config -> ![String] -- | A welcome string. configWelcome :: Config -> String configHistory :: Config -> FilePath -- | An action to generate the prompt. configPrompt :: Config -> String -> FilePath -> Hell String -- | State of the shell. data HellState HellState :: !Config -> !(IORef History) -> !String -> !FilePath -> ![String] -> HellState stateConfig :: HellState -> !Config stateHistory :: HellState -> !(IORef History) stateUsername :: HellState -> !String stateHome :: HellState -> !FilePath stateFunctions :: HellState -> ![String] -- | Hell monad, containing user information and things like that. newtype Hell a Hell :: ReaderT HellState Ghc a -> Hell a runHell :: Hell a -> ReaderT HellState Ghc a instance Monad Hell instance MonadIO Hell instance Functor Hell instance MonadReader HellState Hell instance Default Config -- | The Hell shell. module Hell.Shell -- | Go to hell. startHell :: Config -> IO () -- | Some additional utilities for the shell. module Hell -- | Simpler to type alias for setCurrentDirectory. It's one of the -- few commands that are provided by the shell rather than a real -- process. cd :: FilePath -> IO ()