From: SASADA Koichi Date: 2017-05-14T11:27:06+09:00 Subject: [ruby-core:81150] Re: [Ruby trunk Feature#10548] remove callcc (Callcc is now going obsoleted. Please use Fiber.) On 2017/05/14 4:40, jeremy.phelps@instacart.com wrote: > Eregon, I have no idea what you're talking about. All the examples of Fiber usage over on ruby-doc.org shows identical behavior to Python's yield statement. The only difference is that in Python, "resume" is spelled "next", and you can iterate over the sequence of return values (just a monkey patch away with Fibers). Oh, and the way Python handles a dead generator is different (you start getting void instead of an exception). COMPLETELY Off topic: "Context" manipulation is one of big topic and there are many related terminologies (academic, language/implementation specific, promotion terminologies). In fact, there is confusing. In few minutes I remember the following related words and it is good CS exam to describe each :p * Thread (Ruby) * Green thread (CS terminology) * Native thread (CS terminology) * Non-preemptive thread (CS terminology) * Preemptive thread (CS terminology) * Fiber (Ruby/using resume/yield) * Fiber (Ruby/using transfer) * Fiber (Win32API) * Generator (Python/JavaScript) * Generator (Ruby) * Continuation (CS terminology/Ruby, Scheme, ...) * Partial continuation (CS terminology/ functional lang.) * Exception handling (many languages) * Coroutine (CS terminology/ALGOL) * Semi-coroutine (CS terminology) * Process (Unix/Ruby) * Process (Erlang/Elixir) * setjmp/longjmp (C) * makecontext/swapcontext (POSIX) * Task (...) (maybe more and more words in the world) (1) describe each words (10 point/each). (2) describe how to make each words (100 point/each). (joking. do not submit it to me :p) Reviewing my carrier, I may love to consider how to control "context". My bachelor/master thesis is about how to make a threading library and doctor thesis is about how to introduce new threading mechanism on Ruby. I introduced Fiber into Ruby 1.9 and recently I'm thinking about Guild. -- // SASADA Koichi at atdot dot net Unsubscribe: