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

Safe HaskellSafe-Infered

Top.Implementation.TypeGraph.Path

Description

 

Synopsis

Documentation

data Path a Source

Constructors

(Path a) :|: (Path a) 
(Path a) :+: (Path a) 
Step a 
Fail 
Empty 

Instances

Show a => Show (Path a) 

mCombine :: Monad m => (a -> b -> c) -> m a -> m b -> m cSource

Combine two monadic computations

(<+>), (<|>) :: Monad m => m (Path a) -> m (Path a) -> m (Path a)Source

(<++>) :: Monad m => m [Path a] -> m [Path a] -> m [Path a]Source

steps :: Path a -> [a]Source

mapPath :: (a -> b) -> Path a -> Path bSource

changeStep :: (a -> Path b) -> Path a -> Path bSource

changeStepM :: Monad m => (a -> m (Path b)) -> Path a -> m (Path b)Source

minCompleteInPath :: (a -> a -> Ordering) -> Path a -> Maybe aSource

tailSharingBy :: (a -> a -> Ordering) -> Path a -> Path aSource

flattenPath :: Path a -> [[a]]Source

minimalSets :: (a -> a -> Bool) -> Path a -> [[a]]Source

removeSomeDuplicates :: Ord b => (a -> b) -> Path a -> Path aSource

maxNumberOfEqualPaths :: Maybe IntSource

The maximal number of equality paths that is returned by equalPaths (although this number can be exceeded...it is more or less used as approximation) Nothing indicates that there is no limit