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