I will add though, I agree with "messy bag of types." ๐ I'm just not sure how they would avoid it without giving something up.
My talk from GopherCon 2025 about Green Tea is up on YouTube! www.youtube.com/watch?v=gPJk...
The goal is that the types are shared across platforms, but supported methods on those types are best-effort (no emulation, but for example 'Add' will be called 'Add' everywhere).
This means *some* amount of portability, even at the lowest level. Separate packages would give up these benefits.
Hm, I'm not sure that works. Then, the vector types have to be actually different types.
That is, amd64.Uint64x2 would be different from arm64.Uint64x2, which hurts portability. And you can't just alias the two types because their method sets are different.
I've been toying with ideas on how to make the generic version public without waiting on a v2. Hopefully I'll be able to get something out in the near future. ๐ This certainly adds new motivation!
This is mostly the same content as the blog post (go.dev/blog/greente...), just in video form.
Perhaps I'm missing something?
Indeed... ๐ github.com/golang/go/is...
Don't mean to speak for the authors just sharing from what's already been stated. The public proposal is pretty up-front about this. It's in the design goals (and immediately following) section.
github.com/golang/go/is...
โGoโs Sweet 16โ by Austin Clements, for the Go team โ https://go.dev/blog/16years
#golang