Each resume advances paused work to its next yield point.

resume Think of `resume` as asking the paused work to run until it reaches the next yield.

Resume Step

resumes
resume_step.lua
Replay: real traced execution (multi-file project)
local resumes = 2
local step = 0
local status = "suspended"

for _ = 1, resumes do
  step = step + 1
  status = "yielded"
end

print("resumes=" .. resumes)
print("step=" .. step)
print("status=" .. status)
local resumes = 1
local step = 0
local status = "suspended"

for _ = 1, resumes do
  step = step + 1
  status = "yielded"
end

print("resumes=" .. resumes)
print("step=" .. step)
print("status=" .. status)
local resumes = 3
local step = 0
local status = "suspended"

for _ = 1, resumes do
  step = step + 1
  status = "yielded"
end

print("resumes=" .. resumes)
print("step=" .. step)
print("status=" .. status)
  1. resumes ← 2, step ← 0, status ← suspended

    1local resumes→ 2 = 2 --@resumes=1, 32local step→ 0 = 03local status→ suspended = "suspended"
  2. step ← 1, status ← yielded

    pass 1 of 2
    5for _1 = 1, resumes2 do6  step→ 1 = step + 17  status→ yielded = "yielded"8end
  3. step ← 2, status ← yielded

    pass 2 of 2
    5for _2 = 1, resumes2 do6  step→ 2 = step + 17  status→ yielded = "yielded"8end
  4. print("resumes=" .. resumes)

    10print("resumes=" .. resumes2)11print("step=" .. step2)12print("status=" .. statusyielded)
    outputresumes=2
    step=2
    status=yielded
  1. resumes ← 1, step ← 0, status ← suspended

    1local resumes→ 1 = 12local step→ 0 = 03local status→ suspended = "suspended"
  2. step ← 1, status ← yielded

    5for _1 = 1, resumes1 do6  step→ 1 = step + 17  status→ yielded = "yielded"8end
  3. print("resumes=" .. resumes)

    10print("resumes=" .. resumes1)11print("step=" .. step1)12print("status=" .. statusyielded)
    outputresumes=1
    step=1
    status=yielded
  1. resumes ← 3, step ← 0, status ← suspended

    1local resumes→ 3 = 32local step→ 0 = 03local status→ suspended = "suspended"
  2. step ← 1, status ← yielded

    pass 1 of 3
    5for _1 = 1, resumes3 do6  step→ 1 = step + 17  status→ yielded = "yielded"8end
    All 3 passes — pass 1 is the card above
    pass_stepstatus
    110 1yielded
    221 2yielded
    332 3yielded
  3. print("resumes=" .. resumes)

    10print("resumes=" .. resumes3)11print("step=" .. step3)12print("status=" .. statusyielded)
    outputresumes=3
    step=3
    status=yielded