Outline.starting.go: def of bolt@1.27.0.0 Import: import bolt@1.27.0.0/src/syntax/outline.bend as Outline Lines 572-580 of bolt@1.27.0.0/src/syntax/outline.bend: https://jend.leeeet.dev/read.txt?path=bolt@1.27.0.0/src/syntax/outline.bend&start_line=572&end_line=580 import Base def starting.go(items: List<&2, Item>, +prefix: String, +qual: String, +seen: List<&2, String>) -> List<&2, Item>: match items: case Nil{}: Nil{} case Con{Item{+k, +nm, l, s, d, p}, t}: +take = Bool.and(Bool.and(Bool.not(is_import(k)), String.starts_with(nm, prefix)), Bool.not(has(seen, nm))) # one recursive call: Bool.pick evaluates both of its branches +rest = starting.go(t, prefix, qual, Bool.pick(List<&2, String>, take, nm <> seen, seen)) Bool.pick(List<&2, Item>, take, Item{k, qual ++ nm, l, s, d, p} <> rest, rest) Uses (10): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool.and https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool.not https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool.pick https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=String https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=String.append https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=String.starts_with https://jend.leeeet.dev/definition.txt?path=bolt@1.27.0.0/src/syntax/outline.bend&name=Item https://jend.leeeet.dev/definition.txt?path=bolt@1.27.0.0/src/syntax/outline.bend&name=has https://jend.leeeet.dev/definition.txt?path=bolt@1.27.0.0/src/syntax/outline.bend&name=is_import