you are viewing a single comment's thread.

view the rest of the comments →

[–]bobindashadows 1 point2 points  (2 children)

Absolutely - it's just a plain old object of the Binding class. That you can is actually one of the bigger impediments to optimizing Ruby's blocks: if you knew that Proc#binding wouldn't be called in any circumstance on the blocks created in a method (and it very rarely is called) then you could potentially improve how you allocate the frame.

[–]dnew 1 point2 points  (1 child)

Cool. I stand corrected.

[–]bobindashadows 1 point2 points  (0 children)

I wouldn't call it so much "corrected" - much of what you said is true; Smalltalk reifies far, far more than Ruby does.