Hi Ian,

On Tue, Nov 10, 2009 at 17:21, Ian Lance Taylor <i...@google.com> wrote:
> For the last year and a half I've been working on a gcc frontend for
> Go, a new experimental systems programming language designed by a
> small group at Google.  We've just open sourced it.  You can read more
> about it at http://golang.org/ .
>
> The gcc frontend is called gccgo.  I've just committed it to
> svn://svn/gcc/branches/gccgo.  The frontend is written in, yes, C++.
> There are are a relatively small number of changes to the middle-end.
>
> Please take a look if you are interested.

I haven't looked at the gccgo branch yet, but have quickly browsed
over the material at golang.org, and I found no document describing,
at a high level, the design of the compiler(s) and the runtime of go.
So, I still have some high level questions, not addressed in the pages
of golang.org.

How are the goroutines implemented/translated by gccgo?  How are the
channels implemented?  What kind of memory model did the go authors
had in mind: shared memory, NUMA, or heterogeneous systems?  I have
the impression that go targets, for now, only shared memory systems
with pthreads.

I would appreciate pointers either to high level design documents, or
to the source code.

Thanks,
Sebastian

Reply via email to