Safe Haskell | Safe-Infered |
---|
Documentation
class (HasBasic m info, HasTI m info, HasQual m info, HasTG m info, MonadWriter LogEntries m, Show info) => HasTypeGraph m info | m -> infoSource
(HasBasic m info, HasTI m info, HasQual m info, HasTG m info, MonadWriter LogEntries m, Show info) => HasTypeGraph m info |
class Monad m => HasTG m info | m -> info whereSource
withTypeGraph :: (forall graph. TypeGraph graph info => graph -> (a, graph)) -> m aSource
(Monad m, Embedded ClassSubst (s (StateFixT s m)) t, HasTG (Select t (StateFixT s m)) info) => HasTG (StateFixT s m) info | |
(MonadState s m, Embedded ClassSubst s (TypeGraphState info)) => HasTG (Select (TypeGraphState info) m) info |
useTypeGraph :: HasTG m info => (forall graph. TypeGraph graph info => graph -> a) -> m aSource
changeTypeGraph :: HasTG m info => (forall graph. TypeGraph graph info => graph -> graph) -> m ()Source
addTermGraph :: HasTypeGraph m info => Tp -> m VertexIdSource
addVertex :: HasTypeGraph m info => VertexId -> VertexInfo -> m ()Source
addEdge :: HasTypeGraph m info => EdgeId -> info -> m ()Source
addNewEdge :: HasTypeGraph m info => (VertexId, VertexId) -> info -> m ()Source
deleteEdge :: HasTypeGraph m info => EdgeId -> m ()Source
verticesInGroupOf :: HasTypeGraph m info => VertexId -> m [(VertexId, VertexInfo)]Source
childrenInGroupOf :: HasTypeGraph m info => VertexId -> m ([ParentChild], [ParentChild])Source
constantsInGroupOf :: HasTypeGraph m info => VertexId -> m [String]Source
representativeInGroupOf :: HasTypeGraph m info => VertexId -> m VertexIdSource
edgesFrom :: HasTypeGraph m info => VertexId -> m [(EdgeId, info)]Source
allPaths :: HasTypeGraph m info => VertexId -> VertexId -> m (TypeGraphPath info)Source
allPathsList :: HasTypeGraph m info => VertexId -> [VertexId] -> m (TypeGraphPath info)Source
allPathsListWithout :: HasTypeGraph m info => Set VertexId -> VertexId -> [VertexId] -> m (TypeGraphPath info)Source
substituteVariable :: HasTypeGraph m info => Int -> m TpSource
substituteType :: HasTypeGraph m info => Tp -> m TpSource
substituteTypeSafe :: HasTypeGraph m info => Tp -> m (Maybe Tp)Source
makeSubstitution :: HasTypeGraph m info => m [(VertexId, Tp)]Source
typeFromTermGraph :: HasTypeGraph m info => VertexId -> m TpSource
markAsPossibleError :: HasTypeGraph m info => VertexId -> m ()Source
getMarkedPossibleErrors :: HasTypeGraph m info => m [VertexId]Source
unmarkPossibleErrors :: HasTypeGraph m info => m ()Source
theUnifyTerms :: HasTypeGraph m info => info -> Tp -> Tp -> m ()Source
makeFixpointSubst :: HasTypeGraph m info => m FixpointSubstitutionSource