On Fri, Sep 28, 2018 at 03:50:31PM -0700, ToddAndMargo wrote: : On 9/27/18 12:40 AM, Laurent Rosenfeld via perl6-users wrote: : > > I am NOT asking it to limit my request to Infinity. : > : >Yes you are, implicitly. If you don't pass any parameter for : >$limit, $limit will take the default value supplied by the : >signature, i.e. Inf. : : True, but that is not what the manual says Inf is. Lower in this : thread I made a suggest addition to the wording of Inf. Would : you mind looking at it and offering your criticism?
Why do you want to burden the definition of what something *is* with all the things you can *do* with it? The former is tractable, while the latter is not. It seems to me that you are applying a different standard to human and computer languages here. In both human and computer languages, what something *is* has little to do with what something *does*. These are different abstraction levels. You're fine with this in English, so trying to flatten out all the abstraction levels is tending to work against your understanding of computer languages here, I suspect. The word "knife" is a noun, but if I "knife" someone, I'm using a noun (what the word is) as a verb (what the word can do). Human language is full of these borrowings of abstraction level, so much so that linguists even have a name for them in general, the "emic vs etic" distinction. In non-linguistic terms, "what you said vs what you really meant". What it is, vs what it does. Originally these were coined on the phonetic vs phonemic level, so we see lots of places in English where the phonetics don't match up with how they are used: The prince made some prints. Here you pronounce those words identically on a phonetic level, but on a higher phonemic level (or even on a morphophonemic level), "prince" is only one morpheme, while "prints" is two morphemes "print" and the plural "s". But this etic/emic distinction works at higher levels as well: Here's a you-can-even-use-a-sentence-as-an-adjective example. Here the etic description of "you-can-even-use-a-sentence-as-an-adjective" is that of a sentence. That's what it *is*. But language is flexible enough that I can choose (emically) to slot the whole sentence in as a adjective. That's what the sentence can *do*. (Or that's what you can do with a sentence, if you prefer.) The fact that you can do this takes nothing away from what a sentence *is*, because that's at a lower abstraction level. Going up the linguistic stack even further, every time you read a metaphor in a poem (or in a newspaper article for that matter), you are using your knowledge of English to realize that the poet (or reporter) is relying on you, the Gentle Reader, to realize that the writer is using a metaphor. A metaphor is when you say one thing but mean something else by it. The words of a metaphor are what it "is", but the meaning it produces in your brain is what it "does". The fact that the $limit is using a particular value with a particular representation in memory ("what the manual says Inf is") has almost nothing to do with how we choose to use it metaphorically in an interface, except insofar as it's extremely convenient to have a floating-point value that happens to compare as larger than any integer you want to name. That comparison is a thing that Inf can *do*, which is the abstraction level on which the $limit API is working. The fact that it can be used this way is not at all contradictory to the description of what the Inf value *is*. But the description of what it can do really belongs on the many places where it can be used in various metaphorical ways, not in the definition of what it is. The floating-point Inf value really has no clue whatsoever about all the ways it might be used. It probably doesn't even realize it can be compared with an integer. :) Larry