Skip to content

Commit fa3c586

Browse files
committed
Update roadmap
1 parent f7dc0d5 commit fa3c586

File tree

1 file changed

+8
-10
lines changed

1 file changed

+8
-10
lines changed

README.md

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -220,16 +220,14 @@ SwiftNodes is already being used in production, but [Codeface](https://codeface.
220220

221221
## Roadmap
222222

223-
1. Further align API with official Swift data structures (What would Apple do?):
224-
1. Add the usual suspects of applicable protocol conformances (`Sequence`/`Collection`)
225-
2. Compare with- and learn from API and implementation of [Swift Collections](https://github.com/apple/swift-collections)
226-
2. Round out and add algorithms (starting with the needs of Codeface):
227-
1. Make existing algorithms compatible with cyclic graphs (two of them are still not)
228-
2. General purpose graph traversal algorithms (BFT, DFT, compatible with potentially cyclic graphs)
223+
1. Round out and add algorithms (starting with the needs of Codeface):
224+
1. Make existing algorithms compatible with cycles (two algorithms are still not). meaning: don't hang or crash, maybe throw an error!
225+
2. Add general purpose graph traversal algorithms (BFT, DFT, compatible with potentially cyclic graphs)
229226
3. Model edge weights so they *can* be considered in algorithms like Dijkstra. Do we really need a third type parameter for `Graph`? Or just use `Double` as universal weight type? Do we merge that with edge count or keep both distinct?
230-
4. Around here we should be able to move to version 1.0.0 if documentation is complete and up to date
231-
5. Better ways of topological sorting
232-
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.
233-
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.
227+
4. Update and complete documentation
228+
5. Move to version 1.0.0 if possible
229+
6. Add better ways of topological sorting
230+
7. 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.
231+
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.
234232
* What role does `@inlinable` play here?
235233
* What role does [`lazy`](https://developer.apple.com/documentation/swift/sequence/lazy) play here?

0 commit comments

Comments
 (0)