Top-1.7: Constraint solving framework employed by the Helium Compiler.

Safe HaskellSafe-Infered

Top.Monad.Select

Description

 

Documentation

newtype Select t m a Source

Constructors

Select (m a) 

Instances

(MonadState s m, Embedded label s t) => MonadState t (Select t m) 
MonadTrans (Select t) 
Monad m => Monad (Select t m) 
(MonadState s m, HasBasic m info, HasTI m info, Embedded ClassSubst s (GreedyState info)) => HasSubst (Select (GreedyState info) m) info 
(MonadState s m, HasBasic m info, HasTI m info, Embedded ClassSubst s (SimpleState info)) => HasSubst (Select (SimpleState info) m) info 
(HasBasic m info, HasTI m info, HasQual m info, HasTG m info, MonadWriter LogEntries m, Show info, MonadState s m, Embedded ClassSubst s (TypeGraphState info)) => HasSubst (Select (TypeGraphState info) m) info 
(MonadState s m, HasBasic m info, HasTI m info, TypeConstraintInfo info, Embedded ClassQual s (OverloadingState info)) => HasQual (Select (OverloadingState info) m) info 
(MonadState s m, Embedded ClassTI s (TIState info)) => HasTI (Select (TIState info) m) info 
(MonadState s m, Embedded ClassSubst s (TypeGraphState info)) => HasTG (Select (TypeGraphState info) m) info 

select :: m a -> Select t m aSource

data SelectFix t m a Source

Constructors

SelectFix (m a) 

Instances

MonadTrans (SelectFix t) 
(MonadState s m, Embedded label s (t m)) => MonadState (t m) (SelectFix t m) 
Monad m => Monad (SelectFix t m) 
(MonadState s m, Embedded ClassBasic s (BasicState info m)) => HasBasic (SelectFix (BasicState info) m) info 

selectFix :: m a -> SelectFix t m aSource

class Embedded label s t | label s -> t, t -> label whereSource

Instances

deselect :: Select t m a -> m aSource

deselectFor :: (Embedded label s t, MonadState s m) => label -> Select t m a -> m aSource

deselectFixFor :: (Embedded label s (t m), MonadState s m) => label -> SelectFix t m a -> m aSource