def bag_put.go

unified-nsga-iii@0.2.2.0 · survival.bend:744

import unified-nsga-iii@0.2.2.0/survival.bend as Survival
import Base

744def bag_put.go(
745  bags: List<&2, Bag>,
746  +row: NRow,
747  +seeded: Nat,
748  +pos: Nat,
749  +rev: List<&2, Bag>,
750  same: Bool
751) -> List<&2, Bag>:
752  match bags same:
753    case Nil{} p:
754      List.append(&2, Bag, List.reverse(&2, Bag, rev), [Bag{nrow_r(row), seeded, [MRow{pos, row}]}])
755    case Bag{+ref, +count, +members} <> rest True{}:
756      List.append(
757        &2,
758        Bag,
759        List.reverse(&2, Bag, rev),
760        Bag{ref, count, List.append(&2, MRow, members, [MRow{pos, row}])} <> rest
761      )
762    case Bag{+ref, +count, +members} <> +rest False{}:
763      bag_put.go(rest, row, seeded, pos, Bag{ref, count, members} <> rev, head_is_ref(rest, nrow_r(row)))

Uses (10)

Used by (1)