On Fri, Jun 19, 2020 at 3:57 PM <mits...@gmail.com> wrote:
>
> Would it be possible to have a generic type annotation syntax like this:
>
> // Print prints the elements of any slice.
> // Print has a type parameter T, and has a single (non-type)
> // parameter s which is a slice of that type parameter.
> func Print(type T)(s []T) {
>
>
> ==>
>
> // Print prints the elements of any slice.
> // Print has a type parameter T, and has a single (non-type)
> // parameter s which is a slice of that type parameter.
> func Print(s []T:type) {
>
>
> This doesn't seem to clash with existing syntax, doesn't require a new pair 
> of parenthesis, marks T as a generic type (and can have added constraint 
> names right next to it, e.g: Print(s []T:type constraint)
>
> Or anything similar really, that keeps the generic type description in-line 
> with regular types, e.g. could be a special sigil added to a type parameter 
> as well (@T, $T, etc to mark it as generic, e.g.: Print(s []$T constraint)
>
> haven't thought this through by any means, but it strikes me as a cleaner 
> option than a new set of parenthesis and duplication of the generic parameter 
> names.
>
> Does it make any sense? Don't recall seeing this in some other language...

Thanks for the note.  It makes sense and offhand I don't see any
reason why it wouldn't work.  But it doesn't seem very Go like.  I
can't think of anything else in the language that works anything like
that.

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/CAOyqgcWFnO7i6kBHry-HDSVA7nc66vNy%3D8trNHrj7ZKEYddHDg%40mail.gmail.com.

Reply via email to