curry-frontend-1.0.3: Compile the functional logic language Curry to several intermediate formats

Copyright(c) 2011 - 2016 Björn Peemöller
LicenseBSD-3-clause
Maintainerbjp@informatik.uni-kiel.de
Stabilityexperimental
Portabilityportable
Safe HaskellSafe
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 :: Type -> Type) 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:

Methods

liftIO :: IO a -> m a #

Lift a computation from the IO monad.

Instances
MonadIO IO

Since: base-4.9.0.0

Instance details

Defined in Control.Monad.IO.Class

Methods

liftIO :: IO a -> IO a #

MonadIO m => MonadIO (ListT m) 
Instance details

Defined in Control.Monad.Trans.List

Methods

liftIO :: IO a -> ListT m a #

MonadIO m => MonadIO (MaybeT m) 
Instance details

Defined in Control.Monad.Trans.Maybe

Methods

liftIO :: IO a -> MaybeT m a #

MonadIO m => MonadIO (IdentityT m) 
Instance details

Defined in Control.Monad.Trans.Identity

Methods

liftIO :: IO a -> IdentityT m a #

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

Defined in Control.Monad.Trans.Error

Methods

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

MonadIO m => MonadIO (ExceptT e m) 
Instance details

Defined in Control.Monad.Trans.Except

Methods

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

MonadIO m => MonadIO (StateT s m) 
Instance details

Defined in Control.Monad.Trans.State.Lazy

Methods

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

MonadIO m => MonadIO (StateT s m) 
Instance details

Defined in Control.Monad.Trans.State.Strict

Methods

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

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

Defined in Control.Monad.Trans.Writer.Lazy

Methods

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

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

Defined in Control.Monad.Trans.Writer.Strict

Methods

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

MonadIO m => MonadIO (ContT r m) 
Instance details

Defined in Control.Monad.Trans.Cont

Methods

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

MonadIO m => MonadIO (ReaderT r m) 
Instance details

Defined in Control.Monad.Trans.Reader

Methods

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

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

Defined in Control.Monad.Trans.RWS.Lazy

Methods

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

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

Defined in Control.Monad.Trans.RWS.Strict

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 #

Compiler message

Instances
Eq Message 
Instance details

Defined in Curry.Base.Message

Methods

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

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

Ord Message 
Instance details

Defined in Curry.Base.Message

Show Message 
Instance details

Defined in Curry.Base.Message

HasPosition Message 
Instance details

Defined in Curry.Base.Message

Pretty Message 
Instance details

Defined in Curry.Base.Message

message :: Doc -> Message #

Construct a Message without a Position

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

Construct a message from an entity with a Position and a text