←back to thread

113 points ww520 | 1 comments | | HN request time: 0.203s | source

I believe the best way to learn a language is by doing an in-depth project. This is my first Zig project intended for learning the ropes on publishing a Zig package. It turns out to be quite solid and performant. It might be a bit over-engineered.

This little library is packed with the following features:

  - Building dependency graph from dependency data.
  - Performing topological sort on the dependency graph.
  - Generating dependence-free subsets for parallel processing.
  - Cycle detection and cycle reporting.
Show context
hbbio ◴[] No.43553016[source]

Congrats! I like Zig a lot even though I never implemented a full project with it.

FWIW we had to build a related lib in TypeScript: https://github.com/okcontract/graph as part of the runtime of https://github.com/okcontract/cells

replies(1): >>43553070 #
1. ww520 ◴[] No.43553070[source]

Nice! I like how it generates DOT data. May be I'll add support for it in the future.