From: Logan Capaldo Date: 2006-08-02T06:42:46+09:00 Subject: Re: I thought this was the one that worked? On Aug 1, 2006, at 5:14 PM, Chad Perrin wrote: > On Wed, Aug 02, 2006 at 06:00:28AM +0900, Marshall T. Vandegrift > wrote: >> Chad Perrin writes: >> >>> On Wed, Aug 02, 2006 at 12:45:46AM +0900, Marshall T. Vandegrift >>> wrote: >>>> >>>> I'm joining the party late, but try this example: >>> >>> Why? Why should we keep trying unnecessarily complex examples that >>> introduce a bunch of variables (in the statistical study sense of >>> the >>> term) that are not strictly relevant to the point under >>> consideration? >> >> In the hope that eventually an example might satisfy your all your >> criteria and demonstrate why Ruby blocks are closures. And at the > > The equivalent of line noise, distracting from the actual point of > discussion, doesn't help. > > >> >>> That's not very useful. The Wikipedia "description" (it's not a >>> dictionary, and as such doesn't strictly speaking aim to "define" >>> the >>> terms contained within it) is, for purposes of this discussion, >>> nigh-uselessly broad and lacking in coherent detail. >> >> How's this one from the Free On-line Dictionary of Computing?: >> >> closure >> >> 1. In a reduction system, a closure is a data >> structure that holds an expression and an environment of >> variable bindings in which that expression is to be >> evaluated. The variables may be local or global. Closures are >> used to represent unevaluated expressions when implementing >> functional programming languages with lazy evaluation. In a >> real implementation, both expression and environment are >> represented by pointers. [1] > > > It, like basically every other definition I've run across, doesn't > actually address the salient points. May I please speak with David > again? He at least was discussing something precise enough to be > on-topic for the point of contention. > > >> >>> Only if you accept a description of a closure as a definition. As I >>> implied elsewhere, however, "has four limbs" may be an accurate >>> description of a human, but the fact "dog" fits that description >>> doesn't >>> make it a human. >> >> Oh, I see the problem: metaphysically you're more of an essentialist >> and I'm more of a functionalist. Alas, this can only end in >> tears. ;-) > > I'm also more of a prescriptivist than a descriptivist in natural > linguistic terms. I like precision in my understanding when > discussing > technical topics. "It shares some characteristics with something > someone once called a closure!" isn't enough for me. > I was the person who originally said "every block in ruby is a closure". Apparently our definition of the word "closure" disagrees. Fine. Let me amend my statement: "Every block in ruby is a closure according to my (Logan Capaldo's) understanding of the concept of closure, and of how how ruby blocks are implemented. I make no guarantees that my definition will match yours, nor will I entertain the thought that there is a definitive definition of 'closure', especially in light of languages like Ruby." Given all these facts, in my opinion this thread should end, and if you want to continue having your conversation about the meta-physical nature of a closure, you should start a new thread or take it off list. I do not moderate this list though and that is just my opinion. > -- > CCD CopyWrite Chad Perrin [ http://ccd.apotheon.org ] > "The ability to quote is a serviceable > substitute for wit." - W. Somerset Maugham >