On Tue, May 29, 2007 at 06:46:21PM -0400, Mark J. Reed wrote:
: My counterintuition just went off again. The more restrictive type is
: called "Any"? Object includes junctions?
Well, yes, "Everything is an Object" is the politically correct mantra. :)
And in Perl 6, "Any" does not really mean "any kind of whatever".
"Any" is just short for "any single bindable item", and a Junction is
not a single bindable item, since it autothreads instead. Note that
"any" is considered a singular noun in English, and so used in
junctional phrases like "any of A, B, or C", where it picks out
one or another of them semantically, which is basically the same
operation that autothreading a parameter does. We're using "any"
more in that "any of a restricted set" sense than in the "any of
the universal set" sense.
So I'm not too worried about the counterintuitiveness of it, by and
large. It's much like that little embarrassing problem in physics
that a GUT is neither as grand nor as unified as a TOE. :)
In any case, the Huffman coding is probably right because you want
to declare Any parameters more often than you want to talk about any
possible kind of Object, I suspect.
Hmm, maybe we should just rename Object to something more generic.
There are plenty of candidates:
Top
Idea
Noun
Item
Proto
Thing
Notion
Concept
Subject
Reality
Invocant
Universal
EveryThing
Abstraction
TheCosmicAll
Life::Universe::Everything
Larry