def bags_refill.go
unified-nsga-iii@0.2.2.0 · survival.bend:860
import unified-nsga-iii@0.2.2.0/survival.bend as Survival
import Base
860def bags_refill.go(bags: List<&2, Bag>, +r: Nat, +pick: Nat, hit: Bool) -> List<&2, Bag>:
861 match bags hit:
862 case Nil{} p:
863 Nil{}
864 case Bag{+ref, +count, +members} <> rest True{}:
865 bags_kept(ref, count, drop_mrow(members, pick), rest)
866 case Bag{+ref, +count, +members} <> +rest False{}:
867 Bag{ref, count, members} <> bags_refill.go(rest, r, pick, head_is_ref(rest, r))