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: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>