Take the 2-minute tour ×

I'm playing with Futures in Io. I have some methods that do some work:

a := method(10 + 20)
b := method(20 + 30)
c := method(30 + 40)

And I want to run them concurrently. This works as expected:

m := method(list(@a, @b, @c))

f := @m
writeln((f join(" + ")) .. " = " .. f sum)

However, moving the work of creating the string into method m does not work:

m := method(
    s := list(@a, @b, @c)
    ((s join(" + ")) .. " = " .. (s sum))

f := @m

This raises Scheduler: nothing left to resume so we are exiting.

Why? What have I not understood?

share|improve this question
This now sounds like it's a bug in Io itself. –  Dave Nolan Mar 2 '13 at 14:57

1 Answer 1

I don't have an answer to your question, but I believe that this error is independent of your problem since I encountered it doing much more simple work in the interpreter.

Io> 1 proto
==> 0
Io> 5 proto
==> 0
Io> 0 proto
==> 0
Scheduler: nothing left to resume so we are exiting
  Coroutine callStack                  A4_Exception.io 244
  Coroutine backTraceString            A4_Exception.io 274
  Coroutine showStack                  A4_Exception.io 177
  Coroutine pause                      A4_Exception.io 286

Then I tried the command again and it worked fine:

╰─➤  io
Io 20110905
Io> 0 proto
==> 0
share|improve this answer
This just happened to me too - just some very simple stuff in the interpreter and then got the exact same message as you. –  Matt Jones Aug 25 at 11:05

Your Answer


