1. 14

  2. 3

    The one about generics actually raises a question: if previous proposals for Go generics were deemed to high overhead, too complicated, not-goey-enough, but the standard library has generics in a few places, how did they implement them to avoid the problems of high overhead, too complicated, not-goey-enough?

    1. 5

      Basically, by cheating. See here for example: the typechecking for append is handled manually. So really it’s handled in the quintessential Go way: a bunch of special cases rather than a general solution.

      1. 1

        they’re super specialized cases that are hand rolled effectively; it is the bare minimum with generics you can do w/o bloating the runtime or making the compiler much slower.

      2. 4

        It really is an exceptional language, I must admit.