def visible.go
import bolt@1.27.0.0/src/syntax/bind.bend as Bindimport Base
973# the names in scope at a line: those of the statement on it, else of the
974# nearest statement above
975def visible.go(scopes: List<&2, Scope>, +qline: U32, best: List<&2, Bind>) -> List<&2, Bind>:
976 match scopes:
977 case Nil{}:
978 best
979 case Con{Scope{+line, env}, rest}:
980 +hit = U32.is_le(line, qline)
981 visible.go(rest, qline, Bool.pick(List<&2, Bind>, hit, env, best))