Hi,

In message "[ruby-talk:13078] Re: Questions about ruby"
    on 01/03/23, Dave Thomas <Dave / PragmaticProgrammer.com> writes:

|A block is a proto-object. My understanding is that for efficiency
|reasons, blocks are not turned into objects immediately. However, they 
|are turned into objects (of type Proc) using Proc.new, or when
|assigned to an &xxx parameter in a method call.

Efficiency is one good reason.  In addition, I believe this
restriction makes programs clearer in most cases.

							matz.