Safe Haskell | None |
---|---|
Language | Haskell98 |
- untyped :: DeclarationInfo -> Bool
- inferType :: [String] -> Cabal -> FilePath -> Declaration -> GhcModT IO Declaration
- inferTypes :: [String] -> Cabal -> Module -> GhcModT IO Module
- data GhcModT m a :: (* -> *) -> * -> *
Documentation
untyped :: DeclarationInfo -> Bool Source
Is declaration untyped
inferType :: [String] -> Cabal -> FilePath -> Declaration -> GhcModT IO Declaration Source
Infer type of declaration
data GhcModT m a :: (* -> *) -> * -> *
This is basically a newtype wrapper around StateT
, ErrorT
, JournalT
and ReaderT
with custom instances for GhcMonad
and it's constraints that
means you can run (almost) all functions from the GHC API on top of GhcModT
transparently.
The inner monad m
should have instances for MonadIO
and
MonadBaseControl
IO
, in the common case this is simply IO
. Most mtl
monads already have MonadBaseControl
IO
instances, see the
monad-control
package.
MonadTrans GhcModT | |
Monad m => MonadReader GhcModEnv (GhcModT m) | |
MonadBaseControl IO m => MonadBaseControl IO (GhcModT m) | |
Monad m => MonadError GhcModError (GhcModT m) | |
MonadBaseControl IO m => MonadBase IO (GhcModT m) | |
MonadState s m => MonadState s (GhcModT m) | |
MonadWriter w m => MonadWriter w (GhcModT m) | |
(Monad m, Functor m) => Alternative (GhcModT m) | |
Monad m => Monad (GhcModT m) | |
Functor m => Functor (GhcModT m) | |
Monad m => MonadPlus (GhcModT m) | |
(Monad m, Functor m) => Applicative (GhcModT m) | |
MonadThrow (GhcModT IO) | |
MonadCatch (GhcModT IO) | |
(Functor m, MonadIO m, MonadBaseControl IO m) => GhcMonad (GhcModT m) | |
(Functor m, MonadIO m, MonadBaseControl IO m) => HasDynFlags (GhcModT m) | |
(MonadIO m, MonadBaseControl IO m) => ExceptionMonad (GhcModT m) | |
MonadIO m => MonadIO (GhcModT m) | |
type StM (GhcModT m) a = StM (StateT GhcModState (ErrorT GhcModError (JournalT GhcModLog (ReaderT GhcModEnv m)))) a |