I think the problem here is that implementing sort(r::Range;
rev::Bool=false), i.e. for keyword rev only, is that it would mean there is
no definition for the other keyword arguments. Alternatively, if the other
keywords were implemented for Range, then the method would not be
type-stable. As Steven pointed out, sort(-5:5, by=abs) could not be
represented by a Range.
Admittedly I was initially confused about dispatch with keyword
arguments, and my understanding is still quite tenuous.
If what I'm saying makes sense then I don't think there is a case for
filing an issue/PR?
On Friday, May 6, 2016 at 2:36:27 AM UTC+10, Milan Bouchet-Valat wrote:
> Le dimanche 01 mai 2016 à 19:11 -0700, 'Greg Plowman' via julia-users a
> écrit :
> >
> > Extending/overwriting sort in range.jl (line 686)
> >
> > sort(r::Range) = issorted(r) ? r : reverse(r)
> >
> > with the following worked for me.
> >
> > function Base.sort(r::Range; rev::Bool=false)
> > if rev
> > issorted(r) ? reverse(r) : r
> > else
> > issorted(r) ? r : reverse(r)
> > end
> > end
> Makes sense, please file an issue or a pull request (if the latter, be
> sure to also add tests to prevent regressions).
>
>
> Regards
>