title: Scripting languages that support fibers/coroutines?
body: <p>I'd like to start a new network server project in a language that supports concurrency through fibers aka coroutines aka user-mode threads.  Determining what exactly are my options has been exceedingly difficult as the term "coroutine" seems to be used quite loosely to mean a variety of things, and "fiber" is used almost exclusively in reference to the Win32 API.  </p>
  
  <p>For the purposes of this question, coroutines/fibers:</p>
  
  <ul>
  <li>support methods that pause execution by yielding a result to the calling function from within a nested function (i.e. arbitrarily deep in the call stack from where the coroutine/fiber was invoked)</li>
  <li>support transferring control to another arbitrary coroutine at its current point of execution (i.e. yield to a coroutine that did not call your coroutine)</li>
  </ul>
  
  <p>What are my language options?  I know Ruby 1.9 and Perl (Coro) both have support, what else?   Anything with a mature gc and dynamic method invocation is sufficient.</p>