Hello, Ian, 

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...

-- 
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/06801f6e-3d42-4a59-b7e2-45e50bb4a4c6o%40googlegroups.com.

Reply via email to