Workspace.ok: def of ezx@1.11.0.0 Import: import ezx@1.11.0.0/src/ws/workspace.bend as Workspace Lines 364-372 of ezx@1.11.0.0/src/ws/workspace.bend: https://jend.leeeet.dev/read.txt?path=ezx@1.11.0.0/src/ws/workspace.bend&start_line=364&end_line=372 import Base # whether the workspace has a member set: every entry names a directory a # workspace can name, every one naming a directory as it is names one with a # committed ez.toml, no member is a workspace root of its own, and no two # members have one package name def ok(+spec: Spec, +root: Root, +ls: List<&2, Ledger>) -> Bool: Spec{es, _ex} = spec Bool.and(entries.ok(es), Bool.and(present(es, dirs.of(ls)), Bool.and(unnested(picks(spec, ls)), distinct(names(root, picks(spec, ls)))))) Uses (13): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool.and https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=ezx@1.11.0.0/src/ws/workspace.bend&name=Ledger https://jend.leeeet.dev/definition.txt?path=ezx@1.11.0.0/src/ws/workspace.bend&name=Root https://jend.leeeet.dev/definition.txt?path=ezx@1.11.0.0/src/ws/workspace.bend&name=Spec https://jend.leeeet.dev/definition.txt?path=ezx@1.11.0.0/src/ws/workspace.bend&name=dirs.of https://jend.leeeet.dev/definition.txt?path=ezx@1.11.0.0/src/ws/workspace.bend&name=distinct https://jend.leeeet.dev/definition.txt?path=ezx@1.11.0.0/src/ws/workspace.bend&name=entries.ok https://jend.leeeet.dev/definition.txt?path=ezx@1.11.0.0/src/ws/workspace.bend&name=names https://jend.leeeet.dev/definition.txt?path=ezx@1.11.0.0/src/ws/workspace.bend&name=picks https://jend.leeeet.dev/definition.txt?path=ezx@1.11.0.0/src/ws/workspace.bend&name=present https://jend.leeeet.dev/definition.txt?path=ezx@1.11.0.0/src/ws/workspace.bend&name=unnested