curry-frontend-0.4.2: Lexer, parser, type checker, etc. for the Curry language

Copyright(c) 2011 - 2016 Björn Peemöller
LicenseBSD-3-clause
Maintainerbjp@informatik.uni-kiel.de
Stabilityexperimental
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

Base.Messages

Contents

Description

This module defines several operations to construct and emit compiler messages to the user.

Synopsis

Output of user information

class Monad m => MonadIO m where #

Monads in which IO computations may be embedded. Any monad built by applying a sequence of monad transformers to the IO monad will be an instance of this class.

Instances should satisfy the following laws, which state that liftIO is a transformer of monads:

Minimal complete definition

liftIO

Methods

liftIO :: IO a -> m a #

Lift a computation from the IO monad.

Instances

MonadIO IO 

Methods

liftIO :: IO a -> IO a #

MonadIO m => MonadIO (ListT m) 

Methods

liftIO :: IO a -> ListT m a #

MonadIO m => MonadIO (MaybeT m) 

Methods

liftIO :: IO a -> MaybeT m a #

MonadIO m => MonadIO (ExceptT e m) 

Methods

liftIO :: IO a -> ExceptT e m a #

(Error e, MonadIO m) => MonadIO (ErrorT e m) 

Methods

liftIO :: IO a -> ErrorT e m a #

MonadIO m => MonadIO (StateT s m) 

Methods

liftIO :: IO a -> StateT s m a #

MonadIO m => MonadIO (StateT s m) 

Methods

liftIO :: IO a -> StateT s m a #

(Monoid w, MonadIO m) => MonadIO (WriterT w m) 

Methods

liftIO :: IO a -> WriterT w m a #

(Monoid w, MonadIO m) => MonadIO (WriterT w m) 

Methods

liftIO :: IO a -> WriterT w m a #

MonadIO m => MonadIO (IdentityT * m) 

Methods

liftIO :: IO a -> IdentityT * m a #

MonadIO m => MonadIO (EitherT e m) 

Methods

liftIO :: IO a -> EitherT e m a #

MonadIO m => MonadIO (RandT g m) 

Methods

liftIO :: IO a -> RandT g m a #

MonadIO m => MonadIO (ContT * r m) 

Methods

liftIO :: IO a -> ContT * r m a #

MonadIO m => MonadIO (ReaderT * r m) 

Methods

liftIO :: IO a -> ReaderT * r m a #

(Monoid w, MonadIO m) => MonadIO (RWST r w s m) 

Methods

liftIO :: IO a -> RWST r w s m a #

(Monoid w, MonadIO m) => MonadIO (RWST r w s m) 

Methods

liftIO :: IO a -> RWST r w s m a #

status :: MonadIO m => Options -> String -> m () Source #

Print a status message, depending on the current verbosity

putMsg :: MonadIO m => String -> m () Source #

Print a message on stdout

putErrLn :: MonadIO m => String -> m () Source #

Print an error message on stderr

putErrsLn :: MonadIO m => [String] -> m () Source #

Print a list of error messages on stderr

program abortion

abortWith :: [String] -> IO a Source #

Print a list of Strings as error messages on stderr and abort the program

abortWithMessage :: Message -> IO a Source #

Print a single error message on stderr and abort the program

abortWithMessages :: [Message] -> IO a Source #

Print a list of error messages on stderr and abort the program

warnOrAbort :: WarnOpts -> [Message] -> IO () Source #

Print a list of warning messages on stderr and abort the program |if the -Werror option is set

internalError :: String -> a Source #

Raise an internal error

creating messages

data Message :: * #

Instances

Eq Message 

Methods

(==) :: Message -> Message -> Bool #

(/=) :: Message -> Message -> Bool #

Ord Message 
Show Message 
Pretty Message 
HasPosition Message 

Methods

getPosition :: Message -> Position

setPosition :: Position -> Message -> Message

posMessage :: HasPosition p => p -> Doc -> Message #