Hets - the Heterogeneous Tool Set

Copyright(c) T. Mossakowski C. Maeder Uni Bremen 2006
LicenseGPLv2 or higher, see LICENSE.txt
MaintainerChristian.Maeder@dfki.de
Stabilityprovisional
Portabilityportable
Safe HaskellSafe

Common.ResultT

Description

ResultT type and a monadic transformer instance

Synopsis

Documentation

newtype ResultT m a Source #

Constructors

ResultT 

Fields

Instances

MonadTrans ResultT Source # 

Methods

lift :: Monad m => m a -> ResultT m a

Monad m => Monad (ResultT m) Source # 

Methods

(>>=) :: ResultT m a -> (a -> ResultT m b) -> ResultT m b

(>>) :: ResultT m a -> ResultT m b -> ResultT m b

return :: a -> ResultT m a

fail :: String -> ResultT m a

Monad m => Functor (ResultT m) Source # 

Methods

fmap :: (a -> b) -> ResultT m a -> ResultT m b

(<$) :: a -> ResultT m b -> ResultT m a

Monad m => Applicative (ResultT m) Source # 

Methods

pure :: a -> ResultT m a

(<*>) :: ResultT m (a -> b) -> ResultT m a -> ResultT m b

(*>) :: ResultT m a -> ResultT m b -> ResultT m b

(<*) :: ResultT m a -> ResultT m b -> ResultT m a

MonadIO m => MonadIO (ResultT m) Source # 

Methods

liftIO :: IO a -> ResultT m a

Monad m => MonadResult (ResultT m) Source # 

Methods

liftR :: Result a -> ResultT m a Source #

class Monad m => MonadResult m where Source #

Inspired by the MonadIO-class

Minimal complete definition

liftR

Methods

liftR :: Result a -> m a Source #

Instances

Monad m => MonadResult (ResultT m) Source # 

Methods

liftR :: Result a -> ResultT m a Source #