This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: gccgo: A gcc frontend for Go, a new programming language
- From: Sebastian Pop <sebpop at gmail dot com>
- To: Ian Lance Taylor <iant at google dot com>
- Cc: gcc at gcc dot gnu dot org, Antoniu <antoniu dot pop at gmail dot com>
- Date: Mon, 16 Nov 2009 13:35:16 -0600
- Subject: Re: gccgo: A gcc frontend for Go, a new programming language
- References: <mcr4op2hsow.fsf@dhcp-172-17-9-151.mtv.corp.google.com>
Hi Ian,
On Tue, Nov 10, 2009 at 17:21, Ian Lance Taylor <iant@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