On Tue, Jun 16, 2015 at 09:28:28PM -0700, Brent Laabs wrote: > 07:02 labster m: multi sub prefix:<|> (\a) { a.flat }; say > (|[1,2,3]).perl > 07:02 camelia rakudo-moar d6430c: OUTPUT«5===SORRY!5=== Error while > compiling /tmp/jvrQI4RBsSArg-flattening | is only valid in an argument > listat /tmp/jvrQI4RBsS:1------> 3i sub prefix:<|> (\a) { a.flat }; say > (|7⏏5[1,2,3]).perl» > > Expected, one of: > A) single pipe works as shorthand for flat outside of arg list > B) Rakudo allows me to define my own flat operator (though, in this case, > prefix:<|||> does work) > > Maybe this should be notabug, but if so I'd like an explanation as to why > neither A nor B should work.
Unary | already has a defined syntactic meaning in Perl 6 (argument list interpolation -- see S06 / Flattening argument lists). In Rakudo unary | is a syntactic construct that can't be overloaded. So, notabug. :) Pm