I'm one of those people who needs to see/understand a typical implementation of something before I can grok how it works.

How are closures implemented?  How does the closure know about its environment? Since a block can use the various flavors of eval, it seems to me that the closure needs access to everything.

Seems like magic to me.

I have looked at http://samdanielson.com/2007/9/6/an-introduction-to-closures-in-ruby but I am still not grokking it.

Anyone have a link they can recommend on how closures are implemented?

"Any sufficiently advanced technology is indistinguishable from magic." Arthur C. Clarke