Solver.loop: def of minebender-game@1.0.0.0 Import: import minebender-game@1.0.0.0/solver.bend as Solver Lines 516-527 of minebender-game@1.0.0.0/solver.bend: https://jend.leeeet.dev/read.txt?path=minebender-game@1.0.0.0/solver.bend&start_line=516&end_line=527 import Base import minebender-game@1.0.0.0/types.bend as T # The first cell of hs that no consistent layout mines, given layouts # `found` already shown consistent. def loop(hs: List<&2, T.Pos>, +found: List<&2, T.Grid(Bool)>, +pl: Plan, +part: T.Grid(Maybe<&2, Bool>), +ctx: Ctx) -> Maybe<&2, T.Pos>: match hs: case Nil{}: None{} case +c <> +t: loop.if(covered(found, c), u => loop(t, found, pl, part, ctx), v => loop.found(search(c, pl, part, ctx), c, l => loop(t, l <> found, pl, part, ctx))) Uses (11): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Maybe https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/solver.bend&name=Ctx https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/solver.bend&name=Plan https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/solver.bend&name=covered https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/solver.bend&name=loop.found https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/solver.bend&name=loop.if https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/solver.bend&name=search https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/types.bend&name=Grid https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/types.bend&name=Pos