Btw, as is demonstrated in the proposal, sorting can be solved by passing a comparator to the function:
```go func Sort(a []gen T, less func(T, T) bool) ``` This is actually a far more flexible way than sorting based on an operator or a `Less` method. Sorting based on an operator or `Less` limits each type to one way of sorting. But, by passing a comparator, you can sort any type, any way you like. You can sort number in ascending, descending order, sort structs by one field, sort them by another. Without any need to introduce new types, operators, or methods. pi 31. 5. 2019 o 17:46 Robert Engels <reng...@ix.netcom.com> napĂsal(a): > > Is that really true though? You can have one package that defines min/max > for the built-in types (because it uses operators), and then one that uses > method(s) Less() and Equals() that works with generics. > > A similar technique can be used in sorting. > > > > -----Original Message----- > >From: David Riley <fraveyd...@gmail.com> > >Sent: May 31, 2019 9:05 AM > >To: Robert Johnstone <r.w.johnst...@gmail.com> > >Cc: golang-nuts <golang-nuts@googlegroups.com> > >Subject: Re: [go-nuts] Go 2 generics counterproposal: giving up > restricting types > > > >Because Min and Max are very good and simple indicators of whether the > mechanism is generic enough to handle a fairly common idiom: small > functions for similarly behaved items, say comparable items, which are > annoying and repetitive to write for every data type which might support > the operation (not to mention the fact that increases the surface area for > errors). > > > >It's also worth noting that if Min and Max can't be written in a generic > system, it's likely that Sort can't, either. > > > >If the purpose of a generic system is to reduce repetitive code in a > readable way, it's probably not doing its job very well if it can't do Min > and Max. They're good canaries. > > > > > >- Dave > > > > > >> On May 31, 2019, at 9:06 AM, Robert Johnstone <r.w.johnst...@gmail.com> > wrote: > >> > >> Hello, > >> > >> I'm not sure that Min and Max need to be in the 80%. It's annoying to > write them repeatedly, but they are also very short. The place where I > typically miss generics is larger chunks of code, such as concurrency > patterns. I'm certain others are looking at datatypes. Why do Min and Max > need to be in the 80%? > >> > >> Robert > >> > >> > >> On Thursday, 30 May 2019 14:26:34 UTC-4, Ian Lance Taylor wrote: > >> One of my guidelines for an acceptable generics proposal is that > >> people can write Min and Max. Your proposal admits that it doesn't > >> permit that. I think that is a problem. I'm fine with the general > >> idea of "do 80% of the job" but in practice people really do want to > >> write Min and Max. I think they are part of the 80% that needs to be > >> handled, not the 20% that can be omitted. > >> > >> -- > >> You received this message because you are subscribed to the Google > Groups "golang-nuts" group. > >> To unsubscribe from this group and stop receiving emails from it, send > an email to golang-nuts+unsubscr...@googlegroups.com. > >> To view this discussion on the web visit > https://groups.google.com/d/msgid/golang-nuts/e91e761e-92cd-452a-a387-e0741ebacd66%40googlegroups.com > . > >> For more options, visit https://groups.google.com/d/optout. > > > >-- > >You received this message because you are subscribed to the Google Groups > "golang-nuts" group. > >To unsubscribe from this group and stop receiving emails from it, send an > email to golang-nuts+unsubscr...@googlegroups.com. > >To view this discussion on the web visit > https://groups.google.com/d/msgid/golang-nuts/A5807C0F-B951-45A1-9EBE-00629FE40B22%40gmail.com > . > >For more options, visit https://groups.google.com/d/optout. > > -- > You received this message because you are subscribed to the Google Groups > "golang-nuts" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to golang-nuts+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/golang-nuts/176439122.1772.1559317546587%40wamui-hyena.atl.sa.earthlink.net > . > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/CAO6k0ut5-TdUumxZXdW3a9Ut3k5S42nD%3DhTqYWsCv%3DcZTZi%2BpA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.