def roots

bend-lint-pack@0.1.1.0 · dead/def.bend:38

import bend-lint-pack@0.1.1.0/dead/def.bend as Def
import Base
import bend-lint-pack@0.1.1.0/common.bend as Common

38def roots(
39  seen: List<&2, Common.Seen>,
40  +laws: Set(),
41  +entries: List<&2, String>,
42  +out: List<&2, String>
43) -> List<&2, String>:
44  match seen:
45    case Nil{}:
46      out
47    case Con{Common.Seen{+owner, span}, rest}:
48      roots(
49        rest,
50        laws,
51        entries,
52        Bool.pick(List<&2, String>, is_root(laws, entries, owner), owner <> out, out)
53      )

Uses (6)

Used by (1)