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

Instances details
Monad Unique Source # 
Instance details

Defined in THF.Utils

Methods

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

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

return :: a -> Unique a

Functor Unique Source # 
Instance details

Defined in THF.Utils

Methods

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

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

Applicative Unique Source # 
Instance details

Defined in THF.Utils

Methods

pure :: a -> Unique a

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

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

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

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

data UniqueT m a Source #

Instances

Instances details
MonadTrans UniqueT Source # 
Instance details

Defined in THF.Utils

Methods

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

Monad m => Monad (UniqueT m) Source # 
Instance details

Defined in THF.Utils

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

Functor m => Functor (UniqueT m) Source # 
Instance details

Defined in THF.Utils

Methods

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

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

Monad m => Applicative (UniqueT m) Source # 
Instance details

Defined in THF.Utils

Methods

pure :: a -> UniqueT m a

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

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

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

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

MonadIO m => MonadIO (UniqueT m) Source # 
Instance details

Defined in THF.Utils

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