title: Python 3.6 async await without asyncio: how to write own simplest event loop?
body: <p>Just like to understand <code>async await</code> syntax, so I am looking for some 'hello world' app without using asyncio at all.</p>
  
  <p>So how to create simplest event loop using only Python syntax itself? The simplest code (from this <a href="https://stackoverflow.com/questions/35585935/start-async-function-without-importing-the-asyncio-package">Start async function without importing the asyncio package</a> , further code is much more then hello world, that's why I am asking) looks like that:</p>
  
  <pre><code>async def cr():
      while(True):
          print(1)
  
  cr().send(None)
  </code></pre>
  
  <p>It prints <code>1</code> infinitely, not so good.</p>
  
  <p>So the 1st question is how to yield from coroutine back to the main flow? <code>yield</code> keyword makes coroutine async generator, not we expected.</p>
  
  <p>I would also appreciate a simple application, like this
  i.e. we have a coroutine which prints 1, then yields to event loop, then prints 2 then exits with return 3, and simple event loop, which push coroutine until return and consume result.</p>