You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+12-10
Original file line number
Diff line number
Diff line change
@@ -32,6 +32,8 @@ We put the above qualities over performance. But that doesn't mean we neccessari
32
32
33
33
## How?
34
34
35
+
🚧 *Disclaimer: This section is now particularly outdated and the rewrite of all documentation is next on [the roadmap](#Roadmap)*.
36
+
35
37
The following explanations touch only parts of the SwiftNodes API. We recommend exploring the [DocC reference](https://swiftpackageindex.com/codeface-io/SwiftNodes/documentation), [unit tests](https://github.com/codeface-io/SwiftNodes/tree/master/Tests) and [production code](https://github.com/codeface-io/SwiftNodes/tree/master/Code). The code in particular is actually small and easy to grasp.
36
38
37
39
### Insert Values
@@ -181,7 +183,7 @@ SwiftNodes has begun to accumulate [some graph algorithms](https://github.com/co
181
183
182
184
### Transitive Reduction
183
185
184
-
`graph.findTransitiveEdges()` finds all edges which are **not** in the [transitive reduction (the minimum equivalent graph)](https://en.wikipedia.org/wiki/Transitive_reduction) of the `graph`. **You** can also use `filterTransitiveReduction()` and `filteredTransitiveReduction()` to create a graph's [minimum equivalent graph](https://en.wikipedia.org/wiki/Transitive_reduction).
186
+
`graph.findTransitiveReductionEdges()` finds all edges of the [transitive reduction (the minimum equivalent graph)](https://en.wikipedia.org/wiki/Transitive_reduction) of the `graph`. **You** can also use `filterTransitiveReduction()` and `filteredTransitiveReduction()` to create a graph's [minimum equivalent graph](https://en.wikipedia.org/wiki/Transitive_reduction).
185
187
186
188
Right now, all this only works on acyclic graphs and might even hang or crash on cyclic ones.
187
189
@@ -220,13 +222,13 @@ SwiftNodes is already being used in production, but [Codeface](https://codeface.
220
222
221
223
## Roadmap
222
224
223
-
1. Round out and add algorithms (starting with the needs of Codeface):
225
+
1. Review, update and complete all documentation, including API comments.
226
+
2. Round out and add algorithms (starting with the needs of Codeface):
224
227
1. Make existing algorithms compatible with cycles (two algorithms are still not). meaning: don't hang or crash, maybe throw an error!
225
-
2. Update and complete documentation
226
-
3. Move to version 1.0.0 if possible
227
-
4. Add general purpose graph traversal algorithms (BFT, DFT, compatible with potentially cyclic graphs)
228
-
5. Add better ways of topological sorting
229
-
6. Approximate the [minimum feedback arc set](https://en.wikipedia.org/wiki/Feedback_arc_set), so Codeface can guess "faulty" or unintended dependencies, i.e. the fewest dependencies that need to be cut in order to break all cycles.
230
-
2. Possibly optimize performance – but only based on measurements and only if measurements show that the optimization yields significant acceleration. Optimizing the algorithms might be more effective than optimizing the data structure itself.
231
-
* What role does `@inlinable` play here?
232
-
* What role does [`lazy`](https://developer.apple.com/documentation/swift/sequence/lazy) play here?
228
+
2. Move to version 1.0.0 if possible
229
+
3. Add general purpose graph traversal algorithms (BFT, DFT, compatible with potentially cyclic graphs)
230
+
4. Add better ways of topological sorting
231
+
5. Approximate the [minimum feedback arc set](https://en.wikipedia.org/wiki/Feedback_arc_set), so Codeface can guess "faulty" or unintended dependencies, i.e. the fewest dependencies that need to be cut in order to break all cycles.
232
+
3. Possibly optimize performance – but only based on measurements and only if measurements show that the optimization yields significant acceleration. Optimizing the algorithms might be more effective than optimizing the data structure itself.
233
+
* What role can `@inlinable` play here?
234
+
* What role can [`lazy`](https://developer.apple.com/documentation/swift/sequence/lazy) play here?
0 commit comments