Luke Palmer wrote: > Aaron Crane writes: > > @unsorted > > ==> sort &infix:<=>, desc => 1, key => { $_.foo('bar').compute } > > ==> @sorted; > > I don't like the C<desc> flag. But I can't, at the moment, think of any > way around it short of: > > @unsorted > ==> sort { $^b <=> $^a }, key => { .foo('bar').compute } > ==> @sorted > > Which people have made pretty clear that they don't like.
One option might be an 'rsort' function, but I think that's somewhat lacking in the taste department. Another might be as simple as @unsorted ==> sort ==> reverse ==> @sorted; But I can see an argument that C<< ==> reverse >> is quite a large code burden for something so conceptually simple. I have one other idea, but I can't decide if I like it: @unsorted ==> sort &rinfix:cmp ==> @sorted; That is, rinfix: (or some other name) is like infix:, but gives you a function that reverses its arguments before actually running the operator. Perhaps it could even be implemented as a macro. -- Aaron Crane * GBdirect Ltd. http://training.gbdirect.co.uk/courses/perl/