It's now more than a fortnight since the Go 2 Draft Generics Design was published and, like many others, I have spent considerable time:
1. Steeped in discussions about the draft. 2. Reading feedback papers by others (Roger Peppe's are particularly illuminating) most of whom share my opinion that 'contracts' are unsatisfactory and should be replaced, amended or simplified in various ways. 3. Attempting to devise a workable alternative to contracts (as envisaged in the draft) myself. I was then brought back to reality by this post by Robert Engels in the 'Generics - Why contracts?' thread: "As I’ve said elsewhere, a SIMPLE to use and understand solution that covers 90% is better than a complex one to cover 100% IMO, and fits in well with the rest of Go design. Go leaves out a lot - and it's a good choice." This convinced me that the draft design itself and many third party proposals (including my own) were too ambitious and what we needed was something much simpler that gave us 90% coverage and which everybody could understand. So I've added a simplified proposal to the feedback page which I feel meets this more limited aim. For anyone interested, here's the link: https://gist.github.com/alanfo/fb2438f376dac0db3be5664702f39aab Although the new proposal is largely a simplified version of my 'full fat' proposal, the paper itself is much more comprehensive as I've included notes on why I think certain contracts should be built-in (but not others) and have also tried to address the problems that were raised in the draft design and overview papers themselves. Any comments or constructive criticism are of course welcome. -- 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. For more options, visit https://groups.google.com/d/optout.