Ask HN: What's the point of distinguishing lambda, block and proc in Ruby?
(I would have asked on #ruby but it's more interesting to hear from people with wider spectrum of language preferences)
Or do you mean technically? pure mini optimization. A block needs no signature/arg processing, and no name, a lambda needs no name. Otherwise they are the same. For the compiler they are almost the same.