That's very helpful, thank you Ian. According Russ's plan(replacing cmd/compile/internal/types with types2) and the discussion topic Jeremy Faller posted, can I understand it as that check2 <https://github.com/golang/go/blob/5ff7ec98b7727b3641df25200345b1aa50b6ff35/src/cmd/compile/internal/noder/noder.go#L77> will be the entry of new and default typechecker in the future(with the release of 1.18 one year later)? And the current type-checking code will be removed at the same time? If so I think I'd better to use master branch for learning.
And one more question please. I found there's copy of lex/parser and AST dcls under https://github.com/golang/go/tree/master/src/go as public API, why the compiler doesn't reuse this part of code, but keep a separate copy? Thanks and best regards. On Fri, Feb 26, 2021 at 11:39 PM Ian Lance Taylor <i...@golang.org> wrote: > On Fri, Feb 26, 2021 at 12:29 AM messi...@gmail.com > <messi.sh...@gmail.com> wrote: > > > > I'm reading the source code of version 1.15.6, but I found the code base > structure on master branch is very different, some changes are refactors as > you mentioned above(typechecker), and some are for new features(e.g. > generics). Contribution guide says Github issue tracker is the place where > contributors take task from, but most of the issues are about bugs, so how > about the kind of "Features" and "Plans"? Take the typechecker-rewriting > task you mentioned above as example, I searched a lot to try to find the > "kickoff" place and the original discussion but failed. (Most of issues > assigned to Griesemer are specific bug or improvement.) > > > > Is there any place/information I missed? Or reading the source code is > the only way to fully catch up the whole process? > > The contribution guide is aimed more for smaller, focused changes than > for large scale changes. > > The type checker work is being done as part of the generics work. The > generics work is not currently being tracked on the issue tracker. > It's too big for that to be useful. > > There is mention of the refactoring work at > https://groups.google.com/g/golang-dev/c/U7eW9i0cqmo/m/ffs0tyIYBAAJ . > Jeremy Faller has recently started posting notes about runtime team > discussions at https://golang.org/issue/43930. > > In general, though, I don't think you've missed anything. We don't > have a formal process for tracking large scale changes to the tools. > There is generally a proposal for the idea, but once the proposal has > been accepted there is no formal tracking of the work. The register > ABI proposal is https://golang.org/issue/40724 and the generics > proposal is https://golang.org/issue/43651. Those proposals have > associated design docs, but those are focused on the changes rather > than on the specific tasks required to implement those changes. > > Hope this helps. > > Ian > -- BR, Zhenzhong -- 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/CADZ0idZgno%2BDUZ9rqceUxG6fCfYYvBCEbZ-o-%2B6YOyXJBgN%2Bvw%40mail.gmail.com.