constrained-generators-0.2.0.0: Framework for generating constrained random data using a subset of first order logic
Safe HaskellSafe-Inferred
LanguageHaskell2010

Constrained.Graph

Synopsis

Documentation

data Graph node Source #

Constructors

Graph 

Fields

Instances

Instances details
Ord node ⇒ Monoid (Graph node) Source # 
Instance details

Defined in Constrained.Graph

Methods

memptyGraph node Source #

mappendGraph node → Graph node → Graph node Source #

mconcat ∷ [Graph node] → Graph node Source #

Ord node ⇒ Semigroup (Graph node) Source # 
Instance details

Defined in Constrained.Graph

Methods

(<>)Graph node → Graph node → Graph node Source #

sconcatNonEmpty (Graph node) → Graph node Source #

stimesIntegral b ⇒ b → Graph node → Graph node Source #

Show node ⇒ Show (Graph node) Source # 
Instance details

Defined in Constrained.Graph

Methods

showsPrecIntGraph node → ShowS Source #

showGraph node → String Source #

showList ∷ [Graph node] → ShowS Source #

Pretty n ⇒ Pretty (Graph n) Source # 
Instance details

Defined in Constrained.Graph

Methods

prettyGraph n → Doc ann Source #

prettyList ∷ [Graph n] → Doc ann Source #

nodesGraph node → Set node Source #

opGraphGraph node → Graph node Source #

subtractGraphOrd node ⇒ Graph node → Graph node → Graph node Source #

dependencyOrd node ⇒ node → Set node → Graph node Source #

irreflexiveDependencyOnOrd node ⇒ Set node → Set node → Graph node Source #

transitiveDependenciesOrd node ⇒ node → Graph node → Set node Source #

transitiveClosureOrd node ⇒ Graph node → Graph node Source #

noDependenciesOrd node ⇒ Set node → Graph node Source #

topsortOrd node ⇒ Graph node → Either [node] [node] Source #

Topsort the graph, returning a cycle (`Left cycle`) on failure.

findCycleOrd node ⇒ Graph node → node → [node] Source #

Simple DFS cycle finding TODO: tests for this, currently it can produce a stem with a cycle after it

dependenciesOrd node ⇒ node → Graph node → Set node Source #

dependsOnOrd node ⇒ node → node → Graph node → Bool Source #

deleteNodeOrd node ⇒ node → Graph node → Graph node Source #