Hets - the Heterogeneous Tool Set

Copyright(c) J. von Schroeder DFKI Bremen 2012
LicenseGPLv2 or higher, see LICENSE.txt
MaintainerJonathan von Schroeder <jonathan.von_schroeder@dfki.de>
Stabilityprovisional
Portabilitynon-portable
Safe HaskellNone

THF.Utils

Description

 

Documentation

newtype Unique a Source #

Constructors

Unique (UniqueT Identity a) 

Instances

Monad Unique Source # 

Methods

(>>=) :: Unique a -> (a -> Unique b) -> Unique b

(>>) :: Unique a -> Unique b -> Unique b

return :: a -> Unique a

fail :: String -> Unique a

Functor Unique Source # 

Methods

fmap :: (a -> b) -> Unique a -> Unique b

(<$) :: a -> Unique b -> Unique a

Applicative Unique Source # 

Methods

pure :: a -> Unique a

(<*>) :: Unique (a -> b) -> Unique a -> Unique b

(*>) :: Unique a -> Unique b -> Unique b

(<*) :: Unique a -> Unique b -> Unique a

data UniqueT m a Source #

Instances

MonadTrans UniqueT Source # 

Methods

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

Monad m => Monad (UniqueT m) Source # 

Methods

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

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

return :: a -> UniqueT m a

fail :: String -> UniqueT m a

Functor m => Functor (UniqueT m) Source # 

Methods

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

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

Monad m => Applicative (UniqueT m) Source # 

Methods

pure :: a -> UniqueT m a

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

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

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

MonadIO m => MonadIO (UniqueT m) Source # 

Methods

liftIO :: IO a -> UniqueT m a

fresh :: MonadUnique m => m Integer Source #

evalUniqueT :: Monad m => UniqueT m a -> m a Source #

numberedTok :: Monad m => Token -> UniqueT m Token Source #

mkNames :: Constant -> Name -> Int -> [(Constant, Name)] Source #

data AnaFuns a b Source #

Constructors

AnaFuns