KOS_OP_MATCH_STORE
Style: EXTRA (RAW, RAW, RAW, CONST): mark depth, slot index, cursor depth, names tuple.
Stack:
[..., v]->[...]; cannot miss.Semantics: Pop
vinto slota1of the mark at deptha0, replacing what the slot held. When the cursor at deptha2walks a pair spine, aDatumv, and eachDatumin a tuplev, takes the namea3[a1]as its binding; aDatumfrom a tuple, list or single value is stored unchanged. A cursor deptha2of 0 names no cursor:vwas tested where it lay, and is stored unchanged.Invariants:
a3is a tuple with an entry ata1; Code construction raisesValueErrorotherwise. An index outside the mark’s slots raisesSystemError.Compiler form: Emitted by the match compiler for each capture, with the names of the capture’s scope, but for the root captures of a
matcharm, which are stored into their variables.