On Thu, Jul 23, 2020 at 1:12 AM Aleksey Tulinov
<aleksey.tuli...@gmail.com> wrote:
>
> First of all, thank you for taking your time to answer this topic. I
> know some stuff i say is dumb, i appreciate your patience.
>
> To answer your question: i would assume that OR is about as useful as
> AND or NOT.
>
> type Constraint interface {
>    Sequence && !Channel
> }
>
> With that said. So far i'm only a theorist and you are probably the
> best expert in this field, so I would rather listen to what you have
> to say than express my own ideas, even though they are not really my
> own and credit has to go to other people.
>
> I get it, there is a scope for generics and you are asking this
> question because there are other considerations about the scope,
> usefulness, timeline and this is a problem with more than one factor
> and all factors have to be considered. I hope generics version 1 will
> be received very well, and I'm actually sure they will.
>
> I absolutely trust your judgement on this matter, of course I don't
> have practical experience with generics in Go, but I saw something
> that I didn't like. I'll let someone who applied generics in the field
> to provide practical feedback and I will be glad to hear that they are
> amazing. Sorry for wasting your time. This is undoubtedly an
> improvement to the language and it is very needed. Good luck.
>
> >I've tried to outline what we need from generics in
> https://blog.golang.org/why-generics.
>
> Right. I must have read this too, but probably a year ago and forgot
> about it. This all makes sense now. Thank you very much.

I appreciate the comments.  It's not at all a waste of time.  Thanks
for writing.

Ian



> чт, 23 июл. 2020 г. в 09:16, Ian Lance Taylor <i...@golang.org>:
> >
> > On Wed, Jul 22, 2020 at 9:41 PM Aleksey Tulinov
> > <aleksey.tuli...@gmail.com> wrote:
> > >
> > > This is Java-style inheritance. It isn't bad, but i think that
> > > C++-style composition is somehow more in the spirit of Go. Strictly
> > > personal opinion of course. Older proposal described constraints as
> > > expressions, so to me it appears superior because I could potentially
> > > write an expression I want without asking for more features to be
> > > added into the compiler.
> > >
> > > Although i'm no longer sure if I understand what Go generics are
> > > supposed to do. You have the point that it's probably for a specific
> > > purpose, generic types something something, i don't know, but it
> > > probably isn't supposed to do what C++ concepts can do. Maybe i'm just
> > > spoiled.
> > >
> > > If this gets us to where we want to be - that's great, I'm happy if
> > > you're happy. It just doesn't feel quite right and i feel like this
> > > proposal could benefit from discussion on composition and stuff like
> > > that.
> >
> > There is no question that the older syntax was more powerful.  And I
> > suspect that your syntax is also more powerful.  But we got extensive
> > feedback that the approach was too complex.  C++ and Go have very
> > different tolerances for complexity.
> >
> > You raised the possibility of a constraint that permits either
> > constraintA or constraintB.  I think that supporting that kind of
> > constraint would be more powerful than what the current design draft
> > provides.  But is it a necessary feature?  How often does one want to
> > use such a constraint?
> >
> > I've tried to outline what we need from generics in
> > https://blog.golang.org/why-generics.  I think that that describes the
> > minimum set of required features for a viable language change.  The
> > possibility of alternative constraints is not in that set.  Supporting
> > everything we can think of is not a goal.  It's not an inherently bad
> > thing.  But anything more powerful than the minimum set has to not
> > make the language more complicated to understand.
> >
> > Within that context, I think it's a great idea to discuss composition
> > or inheritance.  If we can come up with something that is more
> > powerful and less complex, that would be great.
> >
> > Ian

-- 
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/CAOyqgcXjPHxnMA3d_z7snUHcOX0%2B4ZVTQFo79FWyebayKudmJg%40mail.gmail.com.

Reply via email to