Language.Haskell.Interpreter.Unsafe

hint-0.9.0.8: A Haskell interpreter built on top of the GHC API

Safe Haskell | None
Language | Haskell2010

Language.Haskell.Interpreter.Unsafe

Synopsis

- unsafeSetGhcOption :: MonadInterpreter m => String -> m ()
- unsafeRunInterpreterWithArgs :: (MonadMask m, MonadIO m) => [String] -> InterpreterT m a -> m (Either InterpreterError a)
- unsafeRunInterpreterWithArgsLibdir :: (MonadIO m, MonadMask m) => [String] -> String -> InterpreterT m a -> m (Either InterpreterError a)
- unsafeInterpret :: MonadInterpreter m => String -> String -> m a

# Documentation

unsafeSetGhcOption :: MonadInterpreter m => String -> m () #

Set a GHC option for the current session, eg. `unsafeSetGhcOption "-XNoMonomorphismRestriction"`.

Warning: Some options may interact badly with the Interpreter.

unsafeRunInterpreterWithArgs :: (MonadMask m, MonadIO m) => [String] -> InterpreterT m a -> m (Either InterpreterError a) #

Executes the interpreter, setting the args as though they were command-line args. In particular, this means args that have no effect with :set in ghci might function properly from this context.

Warning: Some options may interact badly with the Interpreter.

unsafeRunInterpreterWithArgsLibdir :: (MonadIO m, MonadMask m) => [String] -> String -> InterpreterT m a -> m (Either InterpreterError a) #

A variant of `unsafeRunInterpreterWithArgs` which also lets you specify the folder in which the GHC bootstrap libraries (base, containers, etc.) can be found. This allows you to run hint on a machine in which GHC is not installed.

A typical libdir value could be `usrlibghc-8.0.1ghc-8.0.1`.

unsafeInterpret :: MonadInterpreter m => String -> String -> m a #