At 4:00 PM -0700 5/23/07, Jonathan Lang wrote:
I see no mention of C<@@x> in this section.  I would assume that
C<@@x> may be bound to any object that does the C<Multidimensional>
role, with a note to the effect that the C<Multidimensional> role does
the C<Positional> role (and thus anything that C<@x> may be bound to,
C<@@x> may also be bound to).


I would argue that "multi-dimensional" is too generic a name for what you describe. In particular, I wouldn't say that something with that name "does positional", at least in a conventional sense.

For example, take a list of vectors, which is a multi-dimensional structure. Does it make sense to say that a bunch of vectors can be ordered in a simple deterministic sense? It doesn't make sense without context or parameters for the ordering.

If we have a multidim role, don't make it do positional. Those can only be combined on a case by case basis. If you do make multidim positional, then you might as well say that every type does ordered, because that makes as much sense.

And the latter is okay per se as long as we just know the purpose of such is to make a deterministic way to arrange a group of things into an array, but if it doesn't have meaning besides this, in the general case. Same as all does Str or all does Bool et al.

-- Darren Duncan

Reply via email to