Search Apps Documentation Source Content File Folder Download Copy Actions Download State String Boolean Number Struct Map Slice Pointer Function Closure Reference Nil Package Type Interface Unknown

v0 source realm

Package toposortdemo is a small gnoweb demo of the dependency ordering provided by the [p/moul/x/daily/toposort](/p/m...

Readme View source

Topological Sort

⚠️ Experimental — generated with no human supervision by the daily MCP pipeline to exercise gno tooling. Not audited. See r/moul/x/daily.


Shows a small build graph resolved into a safe install order — and a deliberately broken one, to show how a cycle is reported.

Demo of the p/moul/x/daily/toposort library — the graph, the ordering and the cycle detection all come from the package; this realm holds no logic of its own. Stateless and read-only, so Render is fully deterministic.

/r/moul/x/daily/toposortdemo/v0        → the build graph, resolved into an order
/r/moul/x/daily/toposortdemo/v0:cycle  → a cyclic graph and its failure report

The interesting part is that the ordering is unique: ties are broken lexicographically, so this graph will always resolve to the same list. The cycle page shows the other half of the contract — the nodes that could not be ordered are named rather than silently dropped.

Built for gno 0.9.


Part of moul/gno-contracts — moul's versioned gno.land contracts. See the repository for the full catalog, build/test tooling, and usage.

Dependency graph:

gno.land/r/moul/x/daily/toposortdemo/v0 dependency graph

🧪 Highly experimental — potentially vibe-coded. Not audited; may break, change, or be removed at any time. Do not use with anything of value. Full disclaimer: DISCLAIMER.

Overview

Package toposortdemo is a small gnoweb demo of the dependency ordering provided by the p/moul/x/daily/toposort(/p/moul/x/daily/toposort/v0) library: it shows a build graph resolved into a safe install order, and a deliberately broken graph to show how a cycle is reported.

It contains no ordering logic of its own — the graph, the sort and the cycle detection all come from the library. Stateless and read-only, so Render is fully deterministic.

Functions 1

func Render

1func Render(path string) string
source

Render renders the demo for gnoweb.

Example
1Render("")       / Render("/") -> the build graph, resolved
2Render("/cycle")               -> the broken graph and its report

Imports 3

Source Files 3