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

Safe HaskellSafe-Infered

Top.Implementation.TypeGraph.DefaultHeuristics

Description

 

Synopsis

Documentation

defaultHeuristics :: Show info => Path (EdgeId, info) -> [Heuristic info]Source

inMininalSet :: Path (EdgeId, info) -> Heuristic infoSource

Compute the smallest minimal sets. This computation is very(!) costly (might take a long time for complex inconsistencies)

highParticipation :: Show info => Double -> Path (EdgeId, info) -> Heuristic infoSource

Although not as precise as the minimal set analysis, this calculates the participation of each edge in all error paths. Default ratio = 1.0 (100 percent) (the ratio determines which scores compared to the best are accepted)

firstComeFirstBlamed :: Heuristic infoSource

Select the latest constraint

selectConstraintNumbers :: [EdgeNr] -> Heuristic infoSource

Select only specific constraint numbers

inPredicatePath :: Heuristic infoSource

Select only the constraints for which there is evidence in the predicates of the current state that the constraint at hand is incorrect.