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.

Reply via email to