On Thu, Jun 16, 2005 at 10:28:26PM +0000, Luke Palmer wrote: : You know, before I read this part of the message, I was thinking : precisely that. Nullary splat should do it, so that @foo[*] will : work. Unary splat would of course get our favor if it can be : interpreted that way, but in cases like: : : @foo[*] : bar(*) : : It is unambiguous, and you can always say (*) to disambiguate. I like : the look of that too.
Except I've still got my eye on nullary * to mean "all keys in this dimension", and that would conflict if you want that meaning for part of an expression but pipe to a different part. One character that *would* work in that position is the Unix "pipe" character: |. @foo[|] bar(|) On the other hand, that kind of points out the fact that we *aren't* using | for pipes in Perl 6. It'd be nice to have some kind of visual reference to <== and ==>. Perhaps @foo[<>] bar(<>) could be forced into that duty, on the assumption that if you really want a null string, there's always some kind of '' workaround. But that's concentrating on the pointy parts of the pipe operators. How 'bout focusing on the pipey parts instead and use a nullary iterator: @foo[=] bar(=) I kind of like that, particularly since the pointy end of a pipe *is* an iterator. Larry