title: Objective-C block syntax - can someone explain this?
body: <p>Can anyone explain how this block syntax works?</p>
  
  <pre><code>AStreamBuilder stream_builder = [ [ ^( void )
     {
        // some more code..  
        return (NSInputStream *)[ NSInputStream inputStreamWithFileAtPath: some_path ];
     } copy ] autorelease ];
     return stream_builder;
  </code></pre>
  
  <p>What's the name of the block here? Why is the block being copied and then autoreleased? I'm sort of confused with what's going on here.. the block is said to return AStreamBuilder but inside the body of the block it returns an instance of NSInputStream.</p>
  
  <p>Can anyone break this down?</p>