Alexey Petrushin wrote:
 > As i understood:
 >  - It's better not to use continuation, especially in multi threads.
 >  - There is a way to imitate it, like code sample below:
 >
 > ...
 > call MessageBox.new("Delete?"){|response|
 >   if response
 >     call MessageBox.new("Are you sure?"){|response2|
 >       delete if response2
 >     }
 >   end
 > }
 > ...

Correct. Wee uses one thread per session (i.e. user) and keeps this
thread alive. This is required at least when using continuations,
because you can't continue a continuation from another thread.

With continuations, you could write it as:

   delete if call(MessageBox.new("Delete?")) and
             call(MessageBox.new("Are you sure?")

That is a lot clearer!

But, continuations have some downsides (that applies to
Matz' Ruby interpreter):

   * You can't marshal them.
   * Single-threaded (per session/user).
   * They might leak memory.

 > Thanks for advices! :)

You're welcome!

Regards,

   Michael