module Nonnegative:`sig`

..`end`

Weighted graphs without negative-cycles.

This graph maintains the invariant that it is free of such cycles that the total length of edges involving is negative. With introduction of those negative-cycles causes an inability to compute the shortest paths from arbitrary vertex. By using the graph modules defined here, introduction of such a cycle is automatically prevented.

module Imperative:

module Persistent:

Persistent graphs with negative-cycle prevention