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

Safe HaskellNone

Top.Implementation.General

Description

 

Documentation

class (Show s, Empty s) => SolveState s whereSource

Instances

SolveState () 
Show info => SolveState (TIState info) 
SolveState (GreedyState info) 
Show info => SolveState (OverloadingState info) 
SolveState (SimpleState info) 
Show info => SolveState (TypeGraphState info) 
SolveState (BasicState info m) 
(SolveState (f m), SolveState x) => SolveState (Fix f x m) 
(SolveState a, SolveState x) => SolveState (Simple a x m) 
SolveState (f (g x m) m) => SolveState (And f g x m) 

data And f g x m Source

Constructors

Compose (f (g x m) m) 

Instances

Embedded c (f (g x m) m) s => Embedded c (And f g x m) s 
Show (f (g x m) m) => Show (And f g x m) 
Empty (f (g x m) m) => Empty (And f g x m) 
SolveState (f (g x m) m) => SolveState (And f g x m) 

data Simple a x m Source

Constructors

Simple a x 

Instances

Embedded c x s => Embedded c (Simple a x m) s 
Embedded ClassSubst (Simple (GreedyState info) m b) (GreedyState info) 
Embedded ClassSubst (Simple (SimpleState info) x m) (SimpleState info) 
Embedded ClassSubst (Simple (TypeGraphState info) x m) (TypeGraphState info) 
Embedded ClassQual (Simple (OverloadingState info) x m) (OverloadingState info) 
Embedded ClassTI (Simple (TIState info) x m) (TIState info) 
(Show a, Show x) => Show (Simple a x m) 
(Empty a, Empty x) => Empty (Simple a x m) 
(SolveState a, SolveState x) => SolveState (Simple a x m) 

data Fix g x m Source

Constructors

Fix (g m) x 

Instances

Embedded c x s => Embedded c (Fix a x m) s 
Embedded ClassBasic (Fix (BasicState info) x m) (BasicState info m) 
(Show (f m), Show x) => Show (Fix f x m) 
(Empty (g m), Empty x) => Empty (Fix g x m) 
(SolveState (f m), SolveState x) => SolveState (Fix f x m) 

fromFstFixE :: Embedding (g m) c -> Embedding (Fix g x m) cSource