He gave an idea and i found it *fun* to think of the implementation, i'm not proposing anything, in fact i wrote and deleted from my original text "This has probably been thought already", because it looked like i was proposing, and I'm not.
On Tue, 19 Jan 2021, 09:21 'Axel Wagner' via golang-nuts, < golang-nuts@googlegroups.com> wrote: > Instead of giving one-off answers to one-off questions, I would suggest to > write a detailed design doc, so we can talk about *that*. The design > draft by Ian and Robert is the culmination of over a decade of thinking and > talking about generics in Go and it goes to great lengths to shed light on > all aspects of the design - from syntax, over type-checking and > type-inference to actual implementation considerations. That is, why it is > so long - its length doesn't reflect the complexity of the design, but it > reflects the complexity of the discussion. > > It certainly is possible to come up with a simpler design and it might > even be possible to come up with a simpler design that does more. But if > the premise you are coming into the discussion with is "let's just assume > that the last ten years of discussion did not happen and start from > scratch", you are *highly* likely to duplicate effort that has already > been done. And if you walk through your design on a mailing list, instead > of putting in the work of writing a full design doc, you are forcing others > to do this duplicate effort - in the form of exactly such one-off question > and answers. > > Please take a note of the evolution of this generics design. For a long > time now, the progression has been a) Ian writes down a design, b) the > benefits and merits of this design where then discussed *holistically*, > under consideration of all aspects of the design and c) Ian came back a > year later with a new design, taking the discussion of the previous one > into consideration. This means that at every stage, we could talk about a > specific design in its entirety, without the danger of forgetting the > implications of changing one aspect of it has on the other aspects. > > It's easy to come up with simpler syntax. It's also easy to answer > questions about how specific problems of that syntax would be addressed. > But often this means changing aspects of the design - for example, you are > now suggesting, changing the syntax to allow new type-literals using new > keywords or predeclared identifiers. The obvious follow-up is then "how > about the second parameter? Or the nth?". And, of course, you can change > the suggested syntax again. But every time you do a change like that, you > are flushing the entire previous discussion down the drain, because we now > have to re-consider all aspects of the design, from tokenization, over > parsing to type-checking and implementation etc. > > So, I strongly urge y'all to either a) work with the rest of the community > on the draft posted by Ian and Robert, trying to improve on it, or b) write > your own design, in a detailed document about all aspects of it, or c) do > neither and stick with a pure thumbs-up/down expression of opinion - which > doesn't help to address your concerns, but at least counting those is > scaleable. > > On Tue, Jan 19, 2021 at 12:50 PM Kevin Chadwick <m8il1i...@gmail.com> > wrote: > >> On 1/19/21 11:43 AM, 'Axel Wagner' via golang-nuts wrote: >> > This is essentially the previous generics design >> > < >> https://go.googlesource.com/proposal/+/master/design/go2draft-contracts.md >> >, >> > where you implicitly use the function body as a contract - with the >> exception, >> > that you have no way to express that two arguments should be *different* >> >> firstInput[0] >> firstInput[[]byte] >> >> -- >> 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/91fee76b-922c-fd1c-f177-65c9251c6992%40gmail.com >> . >> > -- > 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/CAEkBMfGv8q3c8tXZha%2BVg1mO46WZqi_RTub%2BBGWT6OgrmPk7RA%40mail.gmail.com > <https://groups.google.com/d/msgid/golang-nuts/CAEkBMfGv8q3c8tXZha%2BVg1mO46WZqi_RTub%2BBGWT6OgrmPk7RA%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- 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/CAE%3DAWBX3bs39L3GVVq%2BpJCkPBZu7Qy_44AqauVupdW1u7FY%2BuA%40mail.gmail.com.