I agree the syntax should be more readable and easier to understand. But I 
think the current syntax is less readable.
For example:

type I2 interface {
        (I1(int))}


type S2 struct {
        (S1(int))}


We must use redundant brackets to keep the syntax right. I don't think this 
is readable and syntax consistent.

The new syntax begin with < .It suggests the next name is generic. I think 
that's more readable.


On Tuesday, June 23, 2020 at 1:53:56 AM UTC+8, Ian Lance Taylor wrote:
>
> On Mon, Jun 22, 2020 at 10:09 AM James L <jamesl...@gmail.com 
> <javascript:>> wrote: 
> > 
> > Have you read other thread which have been answered many times? 
>
> In fairness, this idea is different, because the type comes first. 
> Since the '<' character will always be the start of an expression, I 
> think it may be unambiguous.  I think this has been suggested before 
> also, though I'm not sure where. 
>
> I don't personally like this syntax because it seems to put the cart 
> before the horse.  In a function call, I would expect to see the Print 
> function with a type argument int.  This flips the order so that we 
> see int first, then we see that we are talking about the Print 
> function.  Even if it could work syntactically, it seems to me to be 
> less readable. 
>
> The goal in any syntax suggestion should be more than just "this might 
> work."  It should be "this is more readable and easier to understand." 
>  And personally I don't think this specific suggestion meets that 
> goal. 
>
> Thanks for the comment, though. 
>
> Ian 
>
>
> > On Tue, 23 Jun 2020 at 12:46 AM, <redst...@gmail.com <javascript:>> 
> wrote: 
> >> 
> >> I read the new generic draft. And I know F<T>,F[T],F《T》 is discarded. I 
> think put the type paremeter in front of the function name may be better. 
> No ambiguous and more readable code. 
> >> 
> >> func Print(type T)(s []T) { 
> >> 
> >> } 
> >> 
> >> Print(int)([]int{1, 2, 3}) 
> >> 
> >> func <type T>Print(s []T) { 
> >> 
> >> } 
> >> 
> >> <int>Print([]int{1, 2, 3}) 
> >> 
> >> 
> >> 
> >> -- 
> >> 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 golan...@googlegroups.com <javascript:>. 
> >> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/golang-nuts/c55ab443-4333-4def-9d9c-6657463a4a75o%40googlegroups.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 golan...@googlegroups.com <javascript:>. 
> > To view this discussion on the web visit 
> https://groups.google.com/d/msgid/golang-nuts/CAHo5hB6-myagSyixYPfghVYBE3DUpQMYSj88%2BjB74hbJvzQApQ%40mail.gmail.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/9297b725-7fc2-4e23-bd55-763d9bf691f7o%40googlegroups.com.

Reply via email to