ajhc-0.8.0.8: Haskell compiler that produce binary through C language

Safe HaskellNone

FrontEnd.Tc.Type

Synopsis

Documentation

data MetaVar Source

metavars are used in type checking

Constructors

MetaVar 

type Preds = [Pred]Source

data Qual t Source

Constructors

[Pred] :=> t 

Instances

(DocLike d, PPrint d t) => PPrint d (Qual t) 
Eq t => Eq (Qual t) 
Ord t => Ord (Qual t) 
Show t => Show (Qual t) 
Binary t_1629666554 => Binary (Qual t_1629666554) 
UnVar t => UnVar (Qual t) 
(FreeVars t b, FreeVars Pred b) => FreeVars (Qual t) b 

type Preds = [Pred]Source

newtype UnVarOpt Source

Constructors

UnVarOpt 

flattenType :: (MonadIO m, UnVar t) => t -> m tSource

class UnVar t whereSource

Methods

unVar' :: t -> IO tSource

Instances

UnVar Pred 
UnVar Type 
UnVar Type => UnVar CoerceTerm 
UnVar t => UnVar [t] 
UnVar t => UnVar (Qual t) 
(UnVar a, UnVar b) => UnVar (a, b) 

data Rule Source

Constructors

RuleSpec 
RuleUser 

Fields

ruleUniq :: (Module, Int)
 
ruleFreeTVars :: [(Name, Kind)]
 

ptrans :: Bool -> (a -> a) -> a -> aSource

Apply the function if the Bool is True.

tAp :: Type -> Type -> TypeSource

Type application, enforcing the invariant that there be no fully-applied tArrows

tArrow :: TypeSource

The (->) type constructor. Invariant: tArrow shall not be fully applied. To this end, see tAp.