9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
@ 2011-07-22  5:36 arnold
  2011-07-22  6:33 ` Lucio De Re
  2011-07-22 12:41 ` erik quanstrom
  0 siblings, 2 replies; 58+ messages in thread
From: arnold @ 2011-07-22  5:36 UTC (permalink / raw)
  To: 9fans, lucio

Does Go use things that are bison-specific?  If not, maybe Berkeley Yacc
(there are various versions around) would be easier to port.

Arnold



^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-22  5:36 [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto) arnold
@ 2011-07-22  6:33 ` Lucio De Re
  2011-07-22  7:42   ` Bakul Shah
  2011-07-22 12:41 ` erik quanstrom
  1 sibling, 1 reply; 58+ messages in thread
From: Lucio De Re @ 2011-07-22  6:33 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

On Fri, Jul 22, 2011 at 05:36:42AM +0000, arnold@skeeve.com wrote:
>
> Does Go use things that are bison-specific?  If not, maybe Berkeley Yacc
> (there are various versions around) would be easier to port.
>
That's why I ask about Bison experts, it's hard to tell how deep the
usage of bison-specific features goes without some familiarity.  I do
suspect that there is a whole generation of programmers out there that
only knows the GNU dialects and I'm not a member of that club.

I am only slightly curious about BSD Yacc (is that what NetBSD uses,
I wonder?) as my education stopped short of compiler construction
principles. Back then compiler generators were still a novelty.

++L



^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-22  6:33 ` Lucio De Re
@ 2011-07-22  7:42   ` Bakul Shah
  2011-07-22  9:49     ` Lucio De Re
  0 siblings, 1 reply; 58+ messages in thread
From: Bakul Shah @ 2011-07-22  7:42 UTC (permalink / raw)
  To: lucio, Fans of the OS Plan 9 from Bell Labs

On Fri, 22 Jul 2011 08:33:50 +0200 Lucio De Re <lucio@proxima.alt.za>  wrote:
> On Fri, Jul 22, 2011 at 05:36:42AM +0000, arnold@skeeve.com wrote:
> >
> > Does Go use things that are bison-specific?  If not, maybe Berkeley Yacc
> > (there are various versions around) would be easier to port.
> >
> That's why I ask about Bison experts, it's hard to tell how deep the
> usage of bison-specific features goes without some familiarity.  I do
> suspect that there is a whole generation of programmers out there that
> only knows the GNU dialects and I'm not a member of that club.
>
> I am only slightly curious about BSD Yacc (is that what NetBSD uses,
> I wonder?) as my education stopped short of compiler construction
> principles. Back then compiler generators were still a novelty.

You shouldn't need to dig into yacc.

I see from Make.* that has bison -y -d is used, which means it
is supposed emulate posix yacc.  Just to check I tried with
yaccing with the FreeBSD yacc:

*a/a.y  	-- ok
cc/cc.y 	-- ok
goyacc/units.y	-- ok


$ yacc gc/go.y
yacc: e - line 120 of "go.y", syntax error
%error-verbose
^
This is a bison dropping. I haven't looked at the go sources
but hopefully this can be worked around easily.

I didn't actually run any of the generated code but given the
-y flag I have hopes.... In the worst can you can write a
bison script around byacc and massage what needs to be.

Try compiling /usr/src/usr.bin/yacc from *BSD. Let me know if
you run into problems.



^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-22  7:42   ` Bakul Shah
@ 2011-07-22  9:49     ` Lucio De Re
  0 siblings, 0 replies; 58+ messages in thread
From: Lucio De Re @ 2011-07-22  9:49 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

On Fri, Jul 22, 2011 at 12:42:12AM -0700, Bakul Shah wrote:
> $ yacc gc/go.y
> yacc: e - line 120 of "go.y", syntax error
> %error-verbose
> ^
> This is a bison dropping. I haven't looked at the go sources
> but hopefully this can be worked around easily.
>
It resolves to a bunch of #ifdefs, #undefs, #defines, which can be
corrected easily.  But the generated code is full of issues that 8c
does not like to compile, for various reasons (I'll post the details
elsewhere when I get a chance.  I don't know if that applies to byacc.
Thanks for raising it, I do have access to byacc on NetBSD and of course
I can try to port that to Plan 9 rather than bison.  We'll see...

> I didn't actually run any of the generated code but given the
> -y flag I have hopes.... In the worst can you can write a
> bison script around byacc and massage what needs to be.
>
> Try compiling /usr/src/usr.bin/yacc from *BSD. Let me know if
> you run into problems.

I will, both, once I've refreshed my recollections and tried some
tangential possibilities.

Thanks to both of you for the help.

++L



^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-22  5:36 [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto) arnold
  2011-07-22  6:33 ` Lucio De Re
@ 2011-07-22 12:41 ` erik quanstrom
  2011-07-22 13:03   ` Lucio De Re
  1 sibling, 1 reply; 58+ messages in thread
From: erik quanstrom @ 2011-07-22 12:41 UTC (permalink / raw)
  To: 9fans

On Fri Jul 22 01:37:35 EDT 2011, arnold@skeeve.com wrote:
> Does Go use things that are bison-specific?  If not, maybe Berkeley Yacc
> (there are various versions around) would be easier to port.

if it does, that is something new.  plan 9 yacc had no troubles
at all with the grammar when i did it.

- erik



^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-22 12:41 ` erik quanstrom
@ 2011-07-22 13:03   ` Lucio De Re
  2011-07-22 15:13     ` erik quanstrom
  2011-07-22 15:39     ` Bakul Shah
  0 siblings, 2 replies; 58+ messages in thread
From: Lucio De Re @ 2011-07-22 13:03 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

On Fri, Jul 22, 2011 at 08:41:49AM -0400, erik quanstrom wrote:
> On Fri Jul 22 01:37:35 EDT 2011, arnold@skeeve.com wrote:
> > Does Go use things that are bison-specific?  If not, maybe Berkeley Yacc
> > (there are various versions around) would be easier to port.
>
> if it does, that is something new.  plan 9 yacc had no troubles
> at all with the grammar when i did it.
>
It does, the Go syntax has changed a lot: you may have missed the efforts
that went into dropping trailing semicolons and much other syntactic
"candy" that has made Go quite unusual.

I think that is where the yacc changes come from, but I must confess
I'm only guessing.

So far, as Bakul pointed out, only %error-verbose (from memory) stands out
in my most recent changes, but there are other reasons and, unfortunately,
GNU Bison uses its own extensions to bootstrap, which is where I may
well be getting even more muddled up.

I will report back in a little while.

++L



^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-22 13:03   ` Lucio De Re
@ 2011-07-22 15:13     ` erik quanstrom
  2011-07-22 15:37       ` Lucio De Re
  2011-07-22 15:39     ` Bakul Shah
  1 sibling, 1 reply; 58+ messages in thread
From: erik quanstrom @ 2011-07-22 15:13 UTC (permalink / raw)
  To: lucio, 9fans

> > if it does, that is something new.  plan 9 yacc had no troubles
> > at all with the grammar when i did it.
> >
> It does, the Go syntax has changed a lot: you may have missed the efforts
> that went into dropping trailing semicolons and much other syntactic
> "candy" that has made Go quite unusual.

why do you think changes to the grammar would depend on bison?

- erik



^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-22 15:13     ` erik quanstrom
@ 2011-07-22 15:37       ` Lucio De Re
  2011-07-22 17:13         ` Bakul Shah
  0 siblings, 1 reply; 58+ messages in thread
From: Lucio De Re @ 2011-07-22 15:37 UTC (permalink / raw)
  To: erik quanstrom; +Cc: 9fans

On Fri, Jul 22, 2011 at 11:13:26AM -0400, erik quanstrom wrote:
>
> why do you think changes to the grammar would depend on bison?
>
Is that what I said?  I meant that the yacc modules were almost certainly
altered considerably since the introduction of new language features.
I don't have the theoretical knowledge to establish which of the lexis
or the grammar were affected, I just believe that changes did occur and
that Bison dependencies were introduced.

But until I clear my slate of a number of distractions, I can only ask
more knowledgeable persons to look at the code and make suggestions to
the Go Authors, directly or through my submissions to CodeReview, on
how to eliminate Bison dependencies that make porting the Go code base
to Plan 9 difficult.  Or help me deal with these problems in a manner
that can be incorporated into the Go release.

Unfortunately, I'm not in a position to post to sources something that
will still compile in the Plan 9 environment, so the distractions need
to be dealt with first.

Right now, besides a few changes to my current code review submissions,
some of which have nothing to do with Bison, I also have suggestions on
porting Bison to Plan 9, checking out byacc from NetBSD, porting byacc
to Plan 9 and checking the Go port by Taru.  All of that, while losing
track of the problem(s) I was trying to address in the first place,
which I seem to remember was the presence of apostrophes (single quotes)
in // comments.  Sigh!

++L



^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-22 13:03   ` Lucio De Re
  2011-07-22 15:13     ` erik quanstrom
@ 2011-07-22 15:39     ` Bakul Shah
  2011-07-22 15:43       ` erik quanstrom
  2011-07-22 17:48       ` Lucio De Re
  1 sibling, 2 replies; 58+ messages in thread
From: Bakul Shah @ 2011-07-22 15:39 UTC (permalink / raw)
  To: lucio, Fans of the OS Plan 9 from Bell Labs

[-- Attachment #1: Type: text/plain, Size: 822 bytes --]

On Jul 22, 2011, at 6:03 AM, Lucio De Re <lucio@proxima.alt.za> wrote:
>> 
>> 
> So far, as Bakul pointed out, only %error-verbose (from memory) stands out
> in my most recent changes, but there are other reasons and, unfortunately,
> GNU Bison uses its own extensions to bootstrap, which is where I may
> well be getting even more muddled up.

Is your goal to a) have the standard go distribution build on plan9 with no changes or b) do a minimal infrastructure to make future ports easy or c) do a one time port?

If it is c), why not just use the 9front port? If b) or a), why not look at what they have done at the very least?

I'd first fix Make.* to use byacc, or even better, p9p yacc, and run all the tests on a bsd and just fix %error-verbose. If they pass, no need to port bison or may be even byacc.

[-- Attachment #2: Type: text/html, Size: 1523 bytes --]

^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-22 15:39     ` Bakul Shah
@ 2011-07-22 15:43       ` erik quanstrom
  2011-07-22 16:35         ` Steve Simon
  2011-07-22 17:48       ` Lucio De Re
  1 sibling, 1 reply; 58+ messages in thread
From: erik quanstrom @ 2011-07-22 15:43 UTC (permalink / raw)
  To: 9fans

i think we're going off the deep end.

my comments were ment to draw this line
- go used to be compatable with plan old yacc,
- and i don't think the go authors really want to depend on yacc,

so the conclusion i would draw is that the path
of least resistance is to remove the fluff from go
and be done with it.  i bet the go authors would
even accept that patch.  i'd bet that bit snuck in.

- erik



^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-22 15:43       ` erik quanstrom
@ 2011-07-22 16:35         ` Steve Simon
  2011-07-22 17:53           ` Lucio De Re
  2011-07-22 18:30           ` Ethan Grammatikidis
  0 siblings, 2 replies; 58+ messages in thread
From: Steve Simon @ 2011-07-22 16:35 UTC (permalink / raw)
  To: 9fans

My understanding is that bison can be convinced to output some static
tables which the Go authors munge into some C source (with awk).

These tables allow the Go parser to generate more useful and
accurate error messages.

I believe using bison is not mandatory if you don't mind hacking
the code a little, but you won't get the nicer error handling.

This is educated guesswork from looking at the code a few months ago,
please don't treat it as gospel.

-Steve



^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-22 15:37       ` Lucio De Re
@ 2011-07-22 17:13         ` Bakul Shah
  2011-07-22 17:53           ` erik quanstrom
  0 siblings, 1 reply; 58+ messages in thread
From: Bakul Shah @ 2011-07-22 17:13 UTC (permalink / raw)
  To: lucio, Fans of the OS Plan 9 from Bell Labs

On Fri, 22 Jul 2011 17:37:32 +0200 Lucio De Re <lucio@proxima.alt.za>  wrote:
> But until I clear my slate of a number of distractions, I can only ask
> more knowledgeable persons to look at the code and make suggestions to
> the Go Authors, directly or through my submissions to CodeReview, on
> how to eliminate Bison dependencies that make porting the Go code base
> to Plan 9 difficult.  Or help me deal with these problems in a manner
> that can be incorporated into the Go release.

go is too big and changes too fast so rather than try bend it
in the plan9 direction, my advice is to make *no* changes to
the go sources. Just use sed / ed scripts & patch to modify
what you need to during a build, and add some plan9 specific
files/scripts -- this is approach b) from my previous email --
usually what is done in *BSD ports. This can get a port up
quickly. You may still want to feed back changes to the
authors but this usually involves lengthy interactions and is
best done in background mode.

More specifically
1. comment out %error-version
2. fix plan9 yacc to handle apostrophes in // comments because
   that is a bug.  Alternatively sed 's,//.*,/* & */,'
3. if you find any other bison dependency, work around.
4. avoid porting bison!

I commented out %error-version and removed apostrophes in //
comments in go.y and now the plan9 yacc handles the syntax
fine.

Trying all.bash with yacc, I see that the output of awk script
"bisonerrors" fails. I don't have a great desire to port go to
plan9 so I stopped here but you can checkout what is done here
in the 9front port and/or compare bison y.output.c with yacc
y.output.c because y.output.c is what bisonerrors munges. My
guess is you will need a more or less equivalent yaccerrors
script. As Steve says you won't get nicer error handling but
so it goes.



^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-22 15:39     ` Bakul Shah
  2011-07-22 15:43       ` erik quanstrom
@ 2011-07-22 17:48       ` Lucio De Re
  2011-07-22 18:17         ` Ethan Grammatikidis
  2011-07-22 19:40         ` Bakul Shah
  1 sibling, 2 replies; 58+ messages in thread
From: Lucio De Re @ 2011-07-22 17:48 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

On Fri, Jul 22, 2011 at 08:39:56AM -0700, Bakul Shah wrote:
>
> Is your goal to a) have the standard go distribution build on plan9
> with no changes or b) do a minimal infrastructure to make future ports
> easy or c) do a one time port?
>
The crucial feature is that any changes to the Go distribution should slot
into the Plan 9 port of Go as seamlessly as possible.  What has happened
to me a couple of times since Go was first released, is that I applied
immense quantities of patching to my heart's content to the released Go
sources, only to need to re-apply them, with similar difficulty only a
few month laters, to a changed source base.

I am pleased and extremely grateful that the number of such necessary
changes has been reduced significantly, with Russ Cox's help, by
incorporating these changes into the Go distribution.  At this point,
there are only two adjustments I believe will be hard to eliminate
entirely, although I think now that the second has a simple solution.

And, yes, there is a rather big carpet I have swept some items under
and Russ has rejected corrections that would be really nice to have,
in all case with a firm, but understanding hand.  The end result is that
after importing the Go distribution in toto into the Plan 9 repository I
set up for it, the 386, arm and x64 C compilers, assemblers and linkers
all are generated correctly on my Plan 9 platform.  Untested except for
8l and no doubt with some imperfections, but I consider this progress.
The code review process my patches are undergoing adds enough confidence
that I'm willing to relegate testing to some time in the future when I
have a more complete code base and the corresponding executable binaries.

I have also made my life a touch harder by declining to use the APE
environment, but the structure of the Go distribution makes that less
of a burden than one may assume.

> If it is c), why not just use the 9front port? If b) or a), why not
> look at what they have done at the very least?
>
One reason for not looking at Taru's work (I guess it is feeble, but
who is to know?) is that I don't know the status of its copyright; I
have ceded copyright to the Go Authors (more accurately, I have filled
the necessary paperwork to satisfy their legal requirements), but I can
hardly apply that cession to Taru's work.

For the rest, I have been alerted in private mail that Taru's work
contains many adjustments whose intention was to get the code to compile.
I have a similar code base and Erik Quanstrom has another.  I know my
early set of patches is totally inadequate today, I often refer to it in
this phase of this project.  I presume that Erik and Taru both will find
their patches significantly out of sync with future Go releases before
too long.  As it may take me many months to get the project completed,
I'd rather work in tandem with the Go runtime developers, who seem to
have taken the same route as I have, namely to include their changes _in_
the Go distribution as they go along.

> I'd first fix Make.* to use byacc, or even better, p9p yacc, and
> run all the tests on a bsd and just fix %error-verbose. If they pass,
> no need to port bison or may be even byacc.

That's an interesting approach I had not considered.  It involves
considerable throw-away work, but it will be instructive.  Right now
my priority is to smooth out quite a few wrinkles in my repository,
where the last batch of changes needs extensive rework, not all caused
by Bison-itis.  As soon as I have my head out of the water, I'll follow
the much appreciated advice I have received from you all.

++L



^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-22 16:35         ` Steve Simon
@ 2011-07-22 17:53           ` Lucio De Re
  2011-07-22 18:03             ` Lucio De Re
  2011-07-22 18:30           ` Ethan Grammatikidis
  1 sibling, 1 reply; 58+ messages in thread
From: Lucio De Re @ 2011-07-22 17:53 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

On Fri, Jul 22, 2011 at 05:35:24PM +0100, Steve Simon wrote:
>
> My understanding is that bison can be convinced to output some static
> tables which the Go authors munge into some C source (with awk).
>
> These tables allow the Go parser to generate more useful and
> accurate error messages.
>
That matches my recollections from some superficial inspection a few days
ago.  Thanks for bringing these memories back and clarifying them for me.

> I believe using bison is not mandatory if you don't mind hacking
> the code a little, but you won't get the nicer error handling.
>
That suggests that porting Bison is a "must" as anything else will
not meet the criterion of being included in the Go distribution.
Bootstrapping Bison seems to be my main obstacle (it relies on Bison
features, not least the very same %error-verbose I have encountered in
Go), but it can be overcome by using cross-processing from either NetBSD
or UBUNTU, so that's just some effort on my part.

> This is educated guesswork from looking at the code a few months ago,
> please don't treat it as gospel.
>
Pretty good analysis, if my memory is anything to go by.

++L



^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-22 17:13         ` Bakul Shah
@ 2011-07-22 17:53           ` erik quanstrom
  2011-07-22 18:08             ` Lucio De Re
                               ` (2 more replies)
  0 siblings, 3 replies; 58+ messages in thread
From: erik quanstrom @ 2011-07-22 17:53 UTC (permalink / raw)
  To: 9fans

can you give am example where // comments with ' cause
trouble.  i can't replicate.

- erik



^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-22 17:53           ` Lucio De Re
@ 2011-07-22 18:03             ` Lucio De Re
  0 siblings, 0 replies; 58+ messages in thread
From: Lucio De Re @ 2011-07-22 18:03 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

On Fri, Jul 22, 2011 at 07:53:30PM +0200, Lucio De Re wrote:
> That suggests that porting Bison is a "must" as anything else will
> not meet the criterion of being included in the Go distribution.
> Bootstrapping Bison seems to be my main obstacle (it relies on Bison
> features, not least the very same %error-verbose I have encountered in
> Go), but it can be overcome by using cross-processing from either NetBSD
> or UBUNTU, so that's just some effort on my part.
>
I fear this is the exact opposite of what Bakul recommends.  I hope
it is clear that my approach is totally contrary to his suggestions,
through no ill will on either side :-)

++L



^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-22 17:53           ` erik quanstrom
@ 2011-07-22 18:08             ` Lucio De Re
  2011-07-22 18:20               ` erik quanstrom
  2011-07-22 18:22             ` ComeauAt9Fans@gmail.com
  2011-07-22 18:38             ` Bakul Shah
  2 siblings, 1 reply; 58+ messages in thread
From: Lucio De Re @ 2011-07-22 18:08 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

On Fri, Jul 22, 2011 at 01:53:41PM -0400, erik quanstrom wrote:
> can you give am example where // comments with ' cause
> trouble.  i can't replicate.
>
I don't have an example ready at hand.

Russ correctly points out that the problem lies with cpp and not with 8c,
while careful inspection of the yacc sources including your correction to
accept // does not reveal any way in which yacc can be held responsible.

But I do not use cpp in the Go port so I have no idea why I encounter
the same problem as Bakul.  Just to be even more explicit, I used pcc to
compile cmd/gc/mkbuiltin1.c and it failed, as expected.  I have modified
mkbuiltin1.c to compile under 8c now, the problem has been resolved.

Weird, but I haven't yet reached a point where I can investigate this
to greater depth.

++L



^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-22 17:48       ` Lucio De Re
@ 2011-07-22 18:17         ` Ethan Grammatikidis
  2011-07-22 19:40         ` Bakul Shah
  1 sibling, 0 replies; 58+ messages in thread
From: Ethan Grammatikidis @ 2011-07-22 18:17 UTC (permalink / raw)
  To: 9fans; +Cc: lucio

On Fri, 22 Jul 2011 19:48:41 +0200
Lucio De Re <lucio@proxima.alt.za> wrote:

> For the rest, I have been alerted in private mail that Taru's work
> contains many adjustments whose intention was to get the code to compile.
> I have a similar code base and Erik Quanstrom has another.  I know my
> early set of patches is totally inadequate today, I often refer to it in
> this phase of this project.  I presume that Erik and Taru both will find
> their patches significantly out of sync with future Go releases before
> too long.  As it may take me many months to get the project completed,
> I'd rather work in tandem with the Go runtime developers, who seem to
> have taken the same route as I have, namely to include their changes _in_
> the Go distribution as they go along.

My apologies, I didn't understand quite how much the Go codebase changes.



^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-22 18:08             ` Lucio De Re
@ 2011-07-22 18:20               ` erik quanstrom
  2011-07-22 18:32                 ` Skip Tavakkolian
  2011-07-22 18:54                 ` Lucio De Re
  0 siblings, 2 replies; 58+ messages in thread
From: erik quanstrom @ 2011-07-22 18:20 UTC (permalink / raw)
  To: lucio, 9fans

> Russ correctly points out that the problem lies with cpp and not with 8c,
> while careful inspection of the yacc sources including your correction to
> accept // does not reveal any way in which yacc can be held responsible.

are you giving cpp the -+ option?
cpp doesn't eat // comments by default.

- erik



^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-22 17:53           ` erik quanstrom
  2011-07-22 18:08             ` Lucio De Re
@ 2011-07-22 18:22             ` ComeauAt9Fans@gmail.com
  2011-07-22 18:32               ` erik quanstrom
  2011-07-22 18:57               ` Lucio De Re
  2011-07-22 18:38             ` Bakul Shah
  2 siblings, 2 replies; 58+ messages in thread
From: ComeauAt9Fans@gmail.com @ 2011-07-22 18:22 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

On Jul 22, 2011, at 1:53 PM, erik quanstrom <quanstro@labs.coraid.com> wrote:
> can you give am example where // comments with ' cause
> trouble.  i can't replicate.

My guess is that he is not referring to 8c et al but too pcc. That means something like:

// I can't replicate

Becomes an error. Many classic UNIX[-like] preprocessors will diagnose it as an error as it's pre-ANSI processing


^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-22 16:35         ` Steve Simon
  2011-07-22 17:53           ` Lucio De Re
@ 2011-07-22 18:30           ` Ethan Grammatikidis
  2011-07-22 18:33             ` erik quanstrom
  2011-07-22 19:00             ` Lucio De Re
  1 sibling, 2 replies; 58+ messages in thread
From: Ethan Grammatikidis @ 2011-07-22 18:30 UTC (permalink / raw)
  To: 9fans

On Fri, 22 Jul 2011 17:35:24 +0100
"Steve Simon" <steve@quintile.net> wrote:

> My understanding is that bison can be convinced to output some static
> tables which the Go authors munge into some C source (with awk).

I wonder what it would take to add that feature to Plan 9's yacc. I'm not normally one to suggest adding features, but if the authors of Go found it useful I'm a bit inclined to think about it.



^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-22 18:22             ` ComeauAt9Fans@gmail.com
@ 2011-07-22 18:32               ` erik quanstrom
  2011-07-22 18:57               ` Lucio De Re
  1 sibling, 0 replies; 58+ messages in thread
From: erik quanstrom @ 2011-07-22 18:32 UTC (permalink / raw)
  To: 9fans

On Fri Jul 22 14:25:06 EDT 2011, comeauat9fans@gmail.com wrote:
> On Jul 22, 2011, at 1:53 PM, erik quanstrom <quanstro@labs.coraid.com>
> wrote:
> > can you give am example where // comments with ' cause trouble.  i
> > can't replicate.
> >
> My guess is that he is not referring to 8c et al but too pcc.  That
> means something like:
>
> // I can't replicate
>
> Becomes an error.  Many classic UNIX[-like] preprocessors will
> diagnose it as an error as it's pre-ANSI processing

i think that's pretty much it.

the original claim was that yacc had troubles, but i don't see
a problem.  in fact a quick read of the code says that yacc is clean.
however, cpp if not given the -+ option will not recognize
c++ comments (see fixlex()), and is sure that ' is to be interpreted
as in c.  therefore, it does tend to do strange things if it can't match
's.

why does go need cpp?  is the go source that littered with
preprocessor gnarlies?  that would be a big dissapointment.

- erik



^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-22 18:20               ` erik quanstrom
@ 2011-07-22 18:32                 ` Skip Tavakkolian
  2011-07-22 19:04                   ` Lucio De Re
  2011-07-22 18:54                 ` Lucio De Re
  1 sibling, 1 reply; 58+ messages in thread
From: Skip Tavakkolian @ 2011-07-22 18:32 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

I really would like an educated answer to this -- if anyone has done
the deep thinking:  Can I assume that I can use linuxemu -- as a close
enough approximation of linux -- to run the Go build (i.e. all.bash)?
Or, can anyone think of a reason why it would not work?

-Skip

P.S. at any rate, I plan to try this over the weekend.



^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-22 18:30           ` Ethan Grammatikidis
@ 2011-07-22 18:33             ` erik quanstrom
  2011-07-22 18:53               ` ComeauAt9Fans@gmail.com
  2011-07-22 19:00             ` Lucio De Re
  1 sibling, 1 reply; 58+ messages in thread
From: erik quanstrom @ 2011-07-22 18:33 UTC (permalink / raw)
  To: 9fans

On Fri Jul 22 14:32:43 EDT 2011, eekee57@fastmail.fm wrote:
> On Fri, 22 Jul 2011 17:35:24 +0100
> "Steve Simon" <steve@quintile.net> wrote:
>
> > My understanding is that bison can be convinced to output some static
> > tables which the Go authors munge into some C source (with awk).
>
> I wonder what it would take to add that feature to Plan 9's yacc. I'm not normally one to suggest adding features, but if the authors of Go found it useful I'm a bit inclined to think about it.

can you make this argument independent of go?  it could
be that go could have done it differently but chose to depend
on a bison feature.

- erik



^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-22 17:53           ` erik quanstrom
  2011-07-22 18:08             ` Lucio De Re
  2011-07-22 18:22             ` ComeauAt9Fans@gmail.com
@ 2011-07-22 18:38             ` Bakul Shah
  2011-07-22 18:45               ` erik quanstrom
  2011-07-22 18:48               ` ComeauAt9Fans@gmail.com
  2 siblings, 2 replies; 58+ messages in thread
From: Bakul Shah @ 2011-07-22 18:38 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

On Fri, 22 Jul 2011 13:53:41 EDT erik quanstrom <quanstro@labs.coraid.com>  wrote:
> can you give am example where // comments with ' cause
> trouble.  i can't replicate.
>
> - erik

In 9vx:

term% yacc go/src/cmd/gc/go.y

 fatal error:newline in string or char. const., /go/src/cmd/gc/go.y:528


		// If the last token read by the lexer was consumed
		// as part of the case, clear it (parser has cleared yychar).
		// If the last token read by the lexer was the lookahead
		// leave it alone (parser has it cached in yychar).
====>		// This is so that the stmt_list action doesn't look at
		// the case tokens if the stmt_list is empty.
		yylast = yychar;



^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-22 18:38             ` Bakul Shah
@ 2011-07-22 18:45               ` erik quanstrom
  2011-07-22 18:48               ` ComeauAt9Fans@gmail.com
  1 sibling, 0 replies; 58+ messages in thread
From: erik quanstrom @ 2011-07-22 18:45 UTC (permalink / raw)
  To: 9fans

>  fatal error:newline in string or char. const., /go/src/cmd/gc/go.y:528
>
>
> 		// If the last token read by the lexer was consumed
> 		// as part of the case, clear it (parser has cleared yychar).
> 		// If the last token read by the lexer was the lookahead
> 		// leave it alone (parser has it cached in yychar).
> ====>		// This is so that the stmt_list action doesn't look at
> 		// the case tokens if the stmt_list is empty.
> 		yylast = yychar;

i still can't replicate.  i pasted exactly this block into a yacc file
and it works just fine.  are you sure you are using up-to-date
binaries?  barring that, can you send me the .y file?

- erik



^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-22 18:38             ` Bakul Shah
  2011-07-22 18:45               ` erik quanstrom
@ 2011-07-22 18:48               ` ComeauAt9Fans@gmail.com
  2011-07-22 18:53                 ` erik quanstrom
  2011-07-22 18:55                 ` Bakul Shah
  1 sibling, 2 replies; 58+ messages in thread
From: ComeauAt9Fans@gmail.com @ 2011-07-22 18:48 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs; +Cc: Fans of the OS Plan 9 from Bell Labs

On Jul 22, 2011, at 2:38 PM, Bakul Shah <bakul@bitblocks.com> wrote:
> On Fri, 22 Jul 2011 13:53:41 EDT erik quanstrom <quanstro@labs.coraid.com>  wrote:
>> can you give am example where // comments with ' cause
>> trouble.  i can't replicate.
>> 
>> - erik
> 
> In 9vx:
> 
> term% yacc go/src/cmd/gc/go.y
> 
> fatal error:newline in string or char. const., /go/src/cmd/gc/go.y:528
> 
> 
>        // If the last token read by the lexer was consumed
>        // as part of the case, clear it (parser has cleared yychar).
>        // If the last token read by the lexer was the lookahead
>        // leave it alone (parser has it cached in yychar).
> ====>        // This is so that the stmt_list action doesn't look at
>        // the case tokens if the stmt_list is empty.
>        yylast = yychar;

pcc accepts -+ as well as cpp, perhaps a way to pass it as an environment and/or make variable?


^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-22 18:33             ` erik quanstrom
@ 2011-07-22 18:53               ` ComeauAt9Fans@gmail.com
  0 siblings, 0 replies; 58+ messages in thread
From: ComeauAt9Fans@gmail.com @ 2011-07-22 18:53 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

On Jul 22, 2011, at 2:33 PM, erik quanstrom <quanstro@labs.coraid.com> wrote:

> On Fri Jul 22 14:32:43 EDT 2011, eekee57@fastmail.fm wrote:
>> On Fri, 22 Jul 2011 17:35:24 +0100
>> "Steve Simon" <steve@quintile.net> wrote:
>> 
>>> My understanding is that bison can be convinced to output some static
>>> tables which the Go authors munge into some C source (with awk).
>> 
>> I wonder what it would take to add that feature to Plan 9's yacc. I'm not normally one to suggest adding features, but if the authors of Go found it useful I'm a bit inclined to think about it.
> 
> can you make this argument independent of go?  it could
> be that go could have done it differently but chose to depend
> on a bison feature.

Erik has a good point; don't assume too much even if they had a reason 


^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-22 18:48               ` ComeauAt9Fans@gmail.com
@ 2011-07-22 18:53                 ` erik quanstrom
  2011-07-22 19:08                   ` tlaronde
  2011-07-22 18:55                 ` Bakul Shah
  1 sibling, 1 reply; 58+ messages in thread
From: erik quanstrom @ 2011-07-22 18:53 UTC (permalink / raw)
  To: 9fans

> pcc accepts -+ as well as cpp, perhaps a way to pass it as an environment and/or make variable?

how about making it the default and ignore the option.

- erik



^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-22 18:20               ` erik quanstrom
  2011-07-22 18:32                 ` Skip Tavakkolian
@ 2011-07-22 18:54                 ` Lucio De Re
  1 sibling, 0 replies; 58+ messages in thread
From: Lucio De Re @ 2011-07-22 18:54 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

On Fri, Jul 22, 2011 at 02:20:37PM -0400, erik quanstrom wrote:
>
> > Russ correctly points out that the problem lies with cpp and not with 8c,
> > while careful inspection of the yacc sources including your correction to
> > accept // does not reveal any way in which yacc can be held responsible.
>
> are you giving cpp the -+ option?
> cpp doesn't eat // comments by default.
>
As mentioned, I put considerable effort to avoid cpp and currently have
no idea what I've missed.  Russ also raised that issue, I have known
about -+ since then.

Thanks for bringing it up, anyway.

++L



^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-22 18:48               ` ComeauAt9Fans@gmail.com
  2011-07-22 18:53                 ` erik quanstrom
@ 2011-07-22 18:55                 ` Bakul Shah
  2011-07-22 19:09                   ` erik quanstrom
  2011-07-22 19:13                   ` Lucio De Re
  1 sibling, 2 replies; 58+ messages in thread
From: Bakul Shah @ 2011-07-22 18:55 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

On Fri, 22 Jul 2011 14:48:44 EDT "ComeauAt9Fans@gmail.com" <comeauat9fans@gmail.com>  wrote:
> On Jul 22, 2011, at 2:38 PM, Bakul Shah <bakul@bitblocks.com> wrote:
> > On Fri, 22 Jul 2011 13:53:41 EDT erik quanstrom <quanstro@labs.coraid.com>=
>   wrote:
> >> can you give am example where // comments with ' cause
> >> trouble.  i can't replicate.
> >>
> >> - erik
> >
> > In 9vx:
> >
> > term% yacc go/src/cmd/gc/go.y
> >
> > fatal error:newline in string or char. const., /go/src/cmd/gc/go.y:528
> >
> >
> >        // If the last token read by the lexer was consumed
> >        // as part of the case, clear it (parser has cleared yychar).
> >        // If the last token read by the lexer was the lookahead
> >        // leave it alone (parser has it cached in yychar).
> > ====>  // This is so that the stmt_list action doesn't look at
> >        // the case tokens if the stmt_list is empty.
> >        yylast = yychar;
>
> pcc accepts -+ as well as cpp, perhaps a way to pass it as an environment and
> /or make variable?

What does pcc have to do with this? This is a yacc problem. [Also tested
on 9atom]



^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-22 18:22             ` ComeauAt9Fans@gmail.com
  2011-07-22 18:32               ` erik quanstrom
@ 2011-07-22 18:57               ` Lucio De Re
  1 sibling, 0 replies; 58+ messages in thread
From: Lucio De Re @ 2011-07-22 18:57 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

On Fri, Jul 22, 2011 at 02:22:54PM -0400, ComeauAt9Fans@gmail.com wrote:
>
> On Jul 22, 2011, at 1:53 PM, erik quanstrom <quanstro@labs.coraid.com> wrote:
> > can you give am example where // comments with ' cause
> > trouble.  i can't replicate.
>
> My guess is that he is not referring to 8c et al but too pcc. That means something like:
>
> // I can't replicate
>
> Becomes an error. Many classic UNIX[-like] preprocessors will diagnose
> it as an error as it's pre-ANSI processing

The fact is, the "'" is reported as an error in "cmd/gc/go.y" and
"cmd/gc/mkbuiltin.c" and whereas the latter is correct, the former doesn't
make sense.  The comments are within "C" code that should not be compiled
with pcc but with 8c.  I need to get to the bottom of that problem.

++L



^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-22 18:30           ` Ethan Grammatikidis
  2011-07-22 18:33             ` erik quanstrom
@ 2011-07-22 19:00             ` Lucio De Re
  2011-07-22 20:10               ` Ethan Grammatikidis
  1 sibling, 1 reply; 58+ messages in thread
From: Lucio De Re @ 2011-07-22 19:00 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

On Fri, Jul 22, 2011 at 07:30:47PM +0100, Ethan Grammatikidis wrote:
>
> On Fri, 22 Jul 2011 17:35:24 +0100
> "Steve Simon" <steve@quintile.net> wrote:
>
> > My understanding is that bison can be convinced to output some static
> > tables which the Go authors munge into some C source (with awk).
>
> I wonder what it would take to add that feature to Plan 9's yacc. I'm
> not normally one to suggest adding features, but if the authors of Go
> found it useful I'm a bit inclined to think about it.

Now that's a suggestion that makes some sense.  I'll see if I can
figure out how Bison does it and if it is not too tightly coupled to
bison-specific internals, I may be able to enhance yacc.  Don't hold
your breath.

++L



^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-22 18:32                 ` Skip Tavakkolian
@ 2011-07-22 19:04                   ` Lucio De Re
  0 siblings, 0 replies; 58+ messages in thread
From: Lucio De Re @ 2011-07-22 19:04 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

On Fri, Jul 22, 2011 at 11:32:43AM -0700, Skip Tavakkolian wrote:
> I really would like an educated answer to this -- if anyone has done
> the deep thinking:  Can I assume that I can use linuxemu -- as a close
> enough approximation of linux -- to run the Go build (i.e. all.bash)?
> Or, can anyone think of a reason why it would not work?
>
I assumed I could use linuxemu for Bison, at least, but I have not tried.
The build is pretty much location independent, but I imagine you'll find
at least a few assumptions that linuxemu does not satisfy.  Please let
us all know how it goes.

++L



^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-22 18:53                 ` erik quanstrom
@ 2011-07-22 19:08                   ` tlaronde
  0 siblings, 0 replies; 58+ messages in thread
From: tlaronde @ 2011-07-22 19:08 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

On Fri, Jul 22, 2011 at 02:53:12PM -0400, erik quanstrom wrote:
> > pcc accepts -+ as well as cpp, perhaps a way to pass it as an environment and/or make variable?
>
> how about making it the default and ignore the option.

The '//' is really an unfortunate thing, since "divide multiply" or
"multiply divide" ('/*' and '*/') are an invalid combination so a good
choice for the comments, while '//' could be an operator (whether a
"geometrical" one, or for parallelization of processes in an extension
of C).

So, but it is a personal taste, by principle it should not be a default.

>From a practical point of view...
--
        Thierry Laronde <tlaronde +AT+ polynum +dot+ com>
                      http://www.kergis.com/
Key fingerprint = 0FF7 E906 FBAF FE95 FD89  250D 52B1 AE95 6006 F40C




^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-22 18:55                 ` Bakul Shah
@ 2011-07-22 19:09                   ` erik quanstrom
  2011-07-22 19:42                     ` Bakul Shah
  2011-07-22 19:13                   ` Lucio De Re
  1 sibling, 1 reply; 58+ messages in thread
From: erik quanstrom @ 2011-07-22 19:09 UTC (permalink / raw)
  To: 9fans

> What does pcc have to do with this? This is a yacc problem. [Also tested
> on 9atom]

did you rebuild from source?  the yacc binary might be older than ~jan 2010.

- erik



^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-22 18:55                 ` Bakul Shah
  2011-07-22 19:09                   ` erik quanstrom
@ 2011-07-22 19:13                   ` Lucio De Re
  1 sibling, 0 replies; 58+ messages in thread
From: Lucio De Re @ 2011-07-22 19:13 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

On Fri, Jul 22, 2011 at 11:55:45AM -0700, Bakul Shah wrote:
> On Fri, 22 Jul 2011 14:48:44 EDT "ComeauAt9Fans@gmail.com" <comeauat9fans@gmail.com>  wrote:
> > On Jul 22, 2011, at 2:38 PM, Bakul Shah <bakul@bitblocks.com> wrote:
> > > On Fri, 22 Jul 2011 13:53:41 EDT erik quanstrom <quanstro@labs.coraid.com>=
> >   wrote:
> > >> can you give am example where // comments with ' cause
> > >> trouble.  i can't replicate.
> > >>
> > >> - erik
> > >
> > > In 9vx:
> > >
> > > term% yacc go/src/cmd/gc/go.y
> > >
> > > fatal error:newline in string or char. const., /go/src/cmd/gc/go.y:528
> > >
> > >
> > >        // If the last token read by the lexer was consumed
> > >        // as part of the case, clear it (parser has cleared yychar).
> > >        // If the last token read by the lexer was the lookahead
> > >        // leave it alone (parser has it cached in yychar).
> > > ====>  // This is so that the stmt_list action doesn't look at
> > >        // the case tokens if the stmt_list is empty.
> > >        yylast = yychar;
> >
> > pcc accepts -+ as well as cpp, perhaps a way to pass it as an environment and
> > /or make variable?
>
> What does pcc have to do with this? This is a yacc problem. [Also tested
> on 9atom]

I don't know either, but the yacc source doesn't explain how this
error arises.  Erik is right to be skeptical.

++L



^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-22 17:48       ` Lucio De Re
  2011-07-22 18:17         ` Ethan Grammatikidis
@ 2011-07-22 19:40         ` Bakul Shah
  1 sibling, 0 replies; 58+ messages in thread
From: Bakul Shah @ 2011-07-22 19:40 UTC (permalink / raw)
  To: lucio, Fans of the OS Plan 9 from Bell Labs

On Fri, 22 Jul 2011 19:48:41 +0200 Lucio De Re <lucio@proxima.alt.za>  wrote:
> The crucial feature is that any changes to the Go distribution should slot
> into the Plan 9 port of Go as seamlessly as possible.

Agree with the goal.

>            As it may take me many months to get the project completed,
> I'd rather work in tandem with the Go runtime developers, who seem to
> have taken the same route as I have, namely to include their changes _in_
> the Go distribution as they go along.

Iteratively plan9 specific diffs will get smaller and smaller
but it will take a long time.  This is precisely why I
suggested do a quick port (of course, while minimizing
changes). That allows people start using go in plan9 as soon
as possible and you will then likely have more help. In
parallel you can work with the go developers to integrate your
changes.

> > I'd first fix Make.* to use byacc, or even better, p9p yacc, and
> > run all the tests on a bsd and just fix %error-verbose. If they pass,
> > no need to port bison or may be even byacc.
>
> That's an interesting approach I had not considered.  It involves
> considerable throw-away work, but it will be instructive.  Right now
> my priority is to smooth out quite a few wrinkles in my repository,
> where the last batch of changes needs extensive rework, not all caused
> by Bison-itis.  As soon as I have my head out of the water, I'll follow
> the much appreciated advice I have received from you all.

I already did the easy part!  p9p yacc needs to be updated to
p9 yacc as it doesn't understand //.  byacc works but things
fail at bisonerrors script use.



^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-22 19:09                   ` erik quanstrom
@ 2011-07-22 19:42                     ` Bakul Shah
  2011-07-23  9:14                       ` erik quanstrom
  0 siblings, 1 reply; 58+ messages in thread
From: Bakul Shah @ 2011-07-22 19:42 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

On Fri, 22 Jul 2011 15:09:35 EDT erik quanstrom <quanstro@labs.coraid.com>  wrote:
> > What does pcc have to do with this? This is a yacc problem. [Also tested
> > on 9atom]
>
> did you rebuild from source?  the yacc binary might be older than ~jan 2010.
>
> - erik

Just did. yacc.c on the 9atom VM has a date of May 6, 2011.
Did I do a `pull' since then?  No.  plan9 for me is just a toy
so I avoid using painful things like replica! I don't
understand why the main plan9 repo is not switched over to
mercurial (or why the community has not agreed on an
alternative mercurial repo).



^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-22 19:00             ` Lucio De Re
@ 2011-07-22 20:10               ` Ethan Grammatikidis
  2011-07-22 22:59                 ` Russ Cox
  0 siblings, 1 reply; 58+ messages in thread
From: Ethan Grammatikidis @ 2011-07-22 20:10 UTC (permalink / raw)
  To: 9fans; +Cc: lucio

On Fri, 22 Jul 2011 21:00:53 +0200
Lucio De Re <lucio@proxima.alt.za> wrote:

> On Fri, Jul 22, 2011 at 07:30:47PM +0100, Ethan Grammatikidis wrote:
> >
> > On Fri, 22 Jul 2011 17:35:24 +0100
> > "Steve Simon" <steve@quintile.net> wrote:
> >
> > > My understanding is that bison can be convinced to output some static
> > > tables which the Go authors munge into some C source (with awk).
> >
> > I wonder what it would take to add that feature to Plan 9's yacc. I'm
> > not normally one to suggest adding features, but if the authors of Go
> > found it useful I'm a bit inclined to think about it.
>
> Now that's a suggestion that makes some sense.  I'll see if I can
> figure out how Bison does it and if it is not too tightly coupled to
> bison-specific internals, I may be able to enhance yacc.  Don't hold
> your breath.

Not holding my breath. :) After reading Erik's reply I decided to look
at it from the other end; the go internals to see if there was another
way of doing it, but yeah, no-one should hold their breath on my
account either.



^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-22 20:10               ` Ethan Grammatikidis
@ 2011-07-22 22:59                 ` Russ Cox
  2011-07-23 11:16                   ` Ethan Grammatikidis
  0 siblings, 1 reply; 58+ messages in thread
From: Russ Cox @ 2011-07-22 22:59 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs; +Cc: lucio

go uses various features of bison to make
writing the grammar easier and to be able
to give good syntax error diagnostics.

there are two viable choices here.

1. port bison.
2. run bison on another system,
copy the go.tab.[ch] files over,
and don't delete them.

if #1 is too much, do #2, which is trivial.

russ


^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-22 19:42                     ` Bakul Shah
@ 2011-07-23  9:14                       ` erik quanstrom
  2011-07-23 13:24                         ` Lucio De Re
  0 siblings, 1 reply; 58+ messages in thread
From: erik quanstrom @ 2011-07-23  9:14 UTC (permalink / raw)
  To: 9fans

in double-checking this patch, i found that // comments are
already used in cc.y.  the difference in output between the
old yacc and the new version is amusing.  yacc doesn't see
the comment and translates $n in the comments.

- erik

----
in cpyact() replace case '/' with

	case '/':
		/* look for comments; sync with skipcom() */

		Bputrune(faction, c);
		c = Bgetrune(finput);
		switch(c){
		default:
			goto lcopy;
		case '/':
			Bputrune(faction, c);
			while((c = Bgetrune(finput)) != Beof){
				Bputrune(faction, c);
				if(c == '\n'){
					lineno++;
					goto loop;
				}
			}
			break;

		case '*':
			Bputrune(faction, c);
			match = 0;
			while((c = Bgetrune(finput)) != Beof){
				Bputrune(faction, c);
				if(c == '\n')
					lineno++;
				if(match && c == '/')
					goto loop;
				match = c == '*';
			}
			break;
		case Beof:
			break;
		}
		error("EOF inside comment");



^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-22 22:59                 ` Russ Cox
@ 2011-07-23 11:16                   ` Ethan Grammatikidis
  0 siblings, 0 replies; 58+ messages in thread
From: Ethan Grammatikidis @ 2011-07-23 11:16 UTC (permalink / raw)
  To: 9fans

On Fri, 22 Jul 2011 18:59:02 -0400
Russ Cox <rsc@swtch.com> wrote:

> go uses various features of bison to make
> writing the grammar easier and to be able
> to give good syntax error diagnostics.
>
> there are two viable choices here.
>
> 1. port bison.
> 2. run bison on another system,
> copy the go.tab.[ch] files over,
> and don't delete them.
>
> if #1 is too much, do #2, which is trivial.

All right, I won't waste my time then. I think someone else has already mentioned linuxemu as a possible 'other system' to run bison on. Linuxemu seems to come up a lot lately, I would like to hope it lasts as a suitable environment for this sort of thing, but knowing gnoonix (if you'll pardon the slur) I don't suppose it will.



^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-23  9:14                       ` erik quanstrom
@ 2011-07-23 13:24                         ` Lucio De Re
  0 siblings, 0 replies; 58+ messages in thread
From: Lucio De Re @ 2011-07-23 13:24 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

On Sat, Jul 23, 2011 at 05:14:07AM -0400, erik quanstrom wrote:
> in double-checking this patch, i found that // comments are
> already used in cc.y.  the difference in output between the
> old yacc and the new version is amusing.  yacc doesn't see
> the comment and translates $n in the comments.
>
Thanks for going to all that trouble, Erik, I really appreciate it.

++L



^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-22 14:37             ` Ethan Grammatikidis
@ 2011-07-27  2:55               ` kokamoto
  0 siblings, 0 replies; 58+ messages in thread
From: kokamoto @ 2011-07-27  2:55 UTC (permalink / raw)
  To: 9fans

> Source:
> http://pkg.violetti.org/src/go-2011.05.10.tbz

I tried this just now.
It's amazing!
Thanks to the author, and you.

I've been had an interest to Golang.   However, I don't like Mac OSX and Linux.
Yes, I tried them, however....

Now I can look into Golang on my Plan9 system.

Kenji




^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-22  4:40           ` Lucio De Re
@ 2011-07-22 14:37             ` Ethan Grammatikidis
  2011-07-27  2:55               ` kokamoto
  0 siblings, 1 reply; 58+ messages in thread
From: Ethan Grammatikidis @ 2011-07-22 14:37 UTC (permalink / raw)
  To: 9fans; +Cc: lucio

On Fri, 22 Jul 2011 06:40:38 +0200
Lucio De Re <lucio@proxima.alt.za> wrote:

> I've been trying to port (GNU) bison to Plan 9 to make it easier
> to get the Go release to compile under the Plan 9 native toolchain.
> I needed to take a breather yesterday, it is just oh so frustrating!
> Has anyone got bison ported yet?  I suppose I could try linuxemu (hadn't
> thought of that!) in desperation, although I think I'll get there with
> a fresh effort.

Go has already been ported by Taru, a fact noted in the thread on
golang-nuts where you announced your intention to try to port Go a
little while ago. Is it so hard as that to see how she did
it?

Source:
http://pkg.violetti.org/src/go-2011.05.10.tbz

Actually, I asked her and she's happy for you to email her with
questions, too. taruti@taruti.net

Sorry if I sound a bit snippy. I have struggled with various compiles
myself and reached the conclusion that any such struggling is pointless
when there's any other way, so it's a bit painful to watch you
struggling to duplicate work already done.



^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
@ 2011-07-22  8:18 arnold
  0 siblings, 0 replies; 58+ messages in thread
From: arnold @ 2011-07-22  8:18 UTC (permalink / raw)
  To: 9fans

If it's bison -y -d then maybe even Plan 9 Yacc would work.

The bison dist has a manual, probably even with an index, in which you
can look up suspicious constructs and decide if they can be safely tossed
or not.

Thanks,

Arnold



^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-13 18:31         ` Lucio De Re
  2011-07-13 18:45           ` Lucio De Re
@ 2011-07-22  4:40           ` Lucio De Re
  2011-07-22 14:37             ` Ethan Grammatikidis
  1 sibling, 1 reply; 58+ messages in thread
From: Lucio De Re @ 2011-07-22  4:40 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

I've been trying to port (GNU) bison to Plan 9 to make it easier
to get the Go release to compile under the Plan 9 native toolchain.
I needed to take a breather yesterday, it is just oh so frustrating!
Has anyone got bison ported yet?  I suppose I could try linuxemu (hadn't
thought of that!) in desperation, although I think I'll get there with
a fresh effort.

Where are the yacc experts?  The Go release desperately needs a yacc
advocate.  Desperately, as the Go Authors (you know who you are :-)
are hard to persuade when changes to the release are expansive.

I do appreciate their philosophy.  Looking at the amount of work that
goes into Go daily, I'm amazed at how hard they work and at the fact that
they can do any development on top of actively reviewing all submissions.

I was thinking that Google ought to employ someone to do just reviewing
(a small team), as suggested by Fred Brooks in the Mythical Man Month",
but I know that the quality persons required in that role would lose their
minds pretty quickly, no matter how good the tools available to them.

Anyway, I'm unhappily quagmired right now, I'll make some sort of
announcement when I find my way out.

++L

PS: The Go release will eventually slow down, one expects. At that point,
perhaps, one ought to apply a lavish amount of quality control.  Hm,
maybe a wish list can be the first step to that?  I have a few items...



^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
@ 2011-07-15  8:51 Alex Brainman
  0 siblings, 0 replies; 58+ messages in thread
From: Alex Brainman @ 2011-07-15  8:51 UTC (permalink / raw)
  To: 9fans

On Friday, 15 July 2011 06:23:16 UTC+10, Lucio De Re  wrote:
> >
> It is possible to cross-compile Go on Linux for Plan 9, the details are
> a bit vague and I, for one, would not mind somebody rehashing them here
> or providing a pointer to them.
>

This is how I build windows executables on linux: http://code.google.com/p/go-wiki/wiki/WindowsCrossCompiling. I suspect, these instructions will work just fine to build plan9 executable too. You would have to replace "windows" for "plan9" everywhere.

Alex



^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-14 20:21               ` Lucio De Re
  2011-07-14 20:35                 ` Iruatã Souza
@ 2011-07-15  2:37                 ` Fazlul Shahriar
  1 sibling, 0 replies; 58+ messages in thread
From: Fazlul Shahriar @ 2011-07-15  2:37 UTC (permalink / raw)
  To: lucio, Fans of the OS Plan 9 from Bell Labs

On Thu, Jul 14, 2011 at 4:21 PM, Lucio De Re <lucio@proxima.alt.za> wrote:
> It is possible to cross-compile Go on Linux for Plan 9, the details are
> a bit vague and I, for one, would not mind somebody rehashing them here
> or providing a pointer to them.

I have a script shown below that I source. Then, running ./make.bash
in $GOROOT/src will build and install everything. You can also build
tests using the host system's gotest (run with -c flag). I'm disabling
hg because codereview might attempt to run Plan 9's gofmt, etc, which
won't work and mess up your CL. More details about the environment
variables are here: http://golang.org/doc/install.html#environment

export GOROOT=/s/9vx/go
export GOOS=plan9
export GOARCH=386
export GOHOSTOS=linux
export GOHOSTARCH=386
export GOBIN=$GOROOT/bin
export PATH=$GOROOT/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/games:$PLAN9/bin
export PS1="goplan9; "
alias goplan9=:
alias gotest=$HOME/go/bin/gotest
alias gofmt=$HOME/go/bin/gofmt
alias hg='echo this is a cross-compile env'



^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-14 20:21               ` Lucio De Re
@ 2011-07-14 20:35                 ` Iruatã Souza
  2011-07-15  2:37                 ` Fazlul Shahriar
  1 sibling, 0 replies; 58+ messages in thread
From: Iruatã Souza @ 2011-07-14 20:35 UTC (permalink / raw)
  To: lucio, Fans of the OS Plan 9 from Bell Labs

http://groups.google.com/group/golang-dev/browse_thread/thread/c44be49fe9ca42e7/cb98571d81888b9f?lnk=gst&q=plan9front#cb98571d81888b9f



^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-14 18:59             ` stephano zanzin
@ 2011-07-14 20:21               ` Lucio De Re
  2011-07-14 20:35                 ` Iruatã Souza
  2011-07-15  2:37                 ` Fazlul Shahriar
  0 siblings, 2 replies; 58+ messages in thread
From: Lucio De Re @ 2011-07-14 20:21 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

On Thu, Jul 14, 2011 at 03:59:08PM -0300, stephano zanzin wrote:
>
> Great! I just came to the list today looking for some content about Go in
> p9, I'll code many stuff in Go and was wondering if it was ported. Count me
> in for testing and would be much appreciated if you highlight what have been
> done to bring 386 Go over Plan 9.
>
It is possible to cross-compile Go on Linux for Plan 9, the details are
a bit vague and I, for one, would not mind somebody rehashing them here
or providing a pointer to them.

The stuff I'm working on is nowhere near ready for prime time.  But it's
progress.

++L

PS: I'm assembly a TODO list for my end of the action, I fear it is a
pretty long one :-(



^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-13 18:45           ` Lucio De Re
@ 2011-07-14 18:59             ` stephano zanzin
  2011-07-14 20:21               ` Lucio De Re
  0 siblings, 1 reply; 58+ messages in thread
From: stephano zanzin @ 2011-07-14 18:59 UTC (permalink / raw)
  To: lucio, Fans of the OS Plan 9 from Bell Labs

[-- Attachment #1: Type: text/plain, Size: 652 bytes --]

Great! I just came to the list today looking for some content about Go in
p9, I'll code many stuff in Go and was wondering if it was ported. Count me
in for testing and would be much appreciated if you highlight what have been
done to bring 386 Go over Plan 9.

On Wed, Jul 13, 2011 at 3:45 PM, Lucio De Re <lucio@proxima.alt.za> wrote:

> On Wed, Jul 13, 2011 at 08:31:58PM +0200, Lucio De Re wrote:
> > There are many inconsistencies I am vaguely aware of, feel free to remind
> > me and make suggestion on how to improve them.
>
> One problem is the lack of execute permissions, you may have to fix these.
>
> Lucio.
>
>


--
S.

[-- Attachment #2: Type: text/html, Size: 992 bytes --]

^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-13 18:31         ` Lucio De Re
@ 2011-07-13 18:45           ` Lucio De Re
  2011-07-14 18:59             ` stephano zanzin
  2011-07-22  4:40           ` Lucio De Re
  1 sibling, 1 reply; 58+ messages in thread
From: Lucio De Re @ 2011-07-13 18:45 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

On Wed, Jul 13, 2011 at 08:31:58PM +0200, Lucio De Re wrote:
> There are many inconsistencies I am vaguely aware of, feel free to remind
> me and make suggestion on how to improve them.

One problem is the lack of execute permissions, you may have to fix these.

Lucio.



^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-12 18:35       ` Francisco J Ballesteros
@ 2011-07-13 18:31         ` Lucio De Re
  2011-07-13 18:45           ` Lucio De Re
  2011-07-22  4:40           ` Lucio De Re
  0 siblings, 2 replies; 58+ messages in thread
From: Lucio De Re @ 2011-07-13 18:31 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

On Tue, Jul 12, 2011 at 08:35:26PM +0200, Francisco J Ballesteros wrote:
> If you could put just a tgz at sources I'm willing to test it,
> even for updates, I could just unpack the tgz again and rebuild the thing.
> although I don't have much spare time these days and it's likely
> I wont be able to help other than by testing (sorry about that).
>
OK, here's my side of things.

I've uploaded to sources the /go hierarchy that, to the best of my
knowledge, should make it possible for a mildly savvy Plan 9 user to
build 8a, 8l and 8c on a 386 platform.

The location is /n/sources/contrib/lucio/go and is meant to install in
the root (at /go, to be specific).  I have hard coded in many mkfiles the
assignment ROOT=/go to keep things simple, so it's easiest to go along
with this convention until somebody puts some effort into improving is.

The test operation I perform is to change directory to /go/src/cmd/8c
and execute "mk".  It ought to execute without problems, but my Plan 9
platform may have some tweaks that I have forgotten, so it's important
to report to me anything unexpected.

If "8c" builds correctly, the executable can be "mk install"ed into
/go/386/bin, off the cuff I'm notsure that this directory is created,
so it may be necessary to check first.  I would need to correct the
"devproto" file (in "/go") to make sure all target directories are in
fact created.

To build your own development environment, I suggest:

	% 9fs sources
	% disk/mkext -a -s /n/sources/contrib/lucio/go /n/sources/contrib/lucio/go/devproto |
		disk/mkext -d /go

There are many inconsistencies I am vaguely aware of, feel free to remind
me and make suggestion on how to improve them.	The mkfiles randomly rely
on GOROOT et al or make their own decisions about where the sources are
installed: they need to be identified, some thought applied and a final
approach decided upon.	/sys/src/cmd/mk* files are used arbitrarily
(these are the ones I remember, others may bite you as well), the idea
is that if we need slight variations we ought to target $ROOT/src/cmd/mk*
instead, but these are early days and there are inconsistencies lurking.

/go/386/include/u.h is particularly of interest: bits of fluff have been
tucked away in there to simplify porting and may appear particularly ugly.

I will try to document all the important details, but like all
programmers, I have a subconscious need to avoid documenting anything
at all costs.  I will reply to all reasonable questions.

Lucio.

PS: I assume there are p9p users here who, like me, believe it would be
advantageous to add the Go toolchain to the p9p distribution.  I'd like
to hear from them.  I can't give that particular task a high priority,
but I'm keen to encourage others to make some progress on that front.



^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-12 15:13     ` [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto) Lucio De Re
  2011-07-12 18:35       ` Francisco J Ballesteros
@ 2011-07-12 18:44       ` Skip Tavakkolian
  1 sibling, 0 replies; 58+ messages in thread
From: Skip Tavakkolian @ 2011-07-12 18:44 UTC (permalink / raw)
  To: lucio; +Cc: Fans of the OS Plan 9 from Bell Labs

i can test, i can also give you access to my environment if you want.

-Skip

On Tue, Jul 12, 2011 at 8:13 AM, Lucio De Re <lucio@proxima.alt.za> wrote:
> On Tue, Jul 12, 2011 at 08:59:22AM +0300, Pavel Zholkover wrote:
>>
>> I'm not sure about gcc, but the go toolchain can produce quite well working
>> Plan 9 binaries.
>>
>> Taru also has the go toolchain running native in itself after some
>> modifications.
>>
> Is there a link to this, please?
>
> I want to take this opportunity to inform 9fans that Russ Cox has helped
> me extensively to update the Go release so that the source code for
> the 386 assembler, linker and C compiler (8a, 8l and 8c) can be built
> without further modification on a 386 Plan 9 native platform.  The leap
> to the other target CPU architectures (x64 and arm) is small and I have
> been preparing the patched sources for it.
>
> The obvious next step is 8g, but I'm holding back on that right now
> so that more extensive testing can take place, rather than propagate
> bad decisions.
>
> I need some help testing the work so far, even more I need some sound
> advice, specifically on how to release the scaffolding needed for the Plan
> 9 environment without prematurely adding it to the Go release.  At the
> moment, I'm using a CVS repository as a poor(stupid?)-man's version
> of Mercurial Queues and it is possible that this will continue to be
> adequate for a while still; I'm concerned about failure of vision, though.
>
> Putting the repository on "sources" may be one way of propagating my
> efforts at this point, but for obvious reasons updates will have to be
> submitted on a different channel.  Again, suggestions are welcome.  I do
> have Mercurial available on a public server, but I'm not comfortable with
> the tool enough to encourage its use at this point, I find grasping all
> the facets of revision control provided by mercurial extremely difficult.
>
> As for the testing required, I am looking for confirmation that 8c, 8a
> and 8l perform as expected in a Plan 9/386 environment, it is building
> this environment that I find hard to do right now, hence my request for
> some assistance.  Naturally, this can all be discussed offline.
>
> ++L
>
>



^ permalink raw reply	[flat|nested] 58+ messages in thread

* Re: [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto)
  2011-07-12 15:13     ` [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto) Lucio De Re
@ 2011-07-12 18:35       ` Francisco J Ballesteros
  2011-07-13 18:31         ` Lucio De Re
  2011-07-12 18:44       ` Skip Tavakkolian
  1 sibling, 1 reply; 58+ messages in thread
From: Francisco J Ballesteros @ 2011-07-12 18:35 UTC (permalink / raw)
  To: lucio, Fans of the OS Plan 9 from Bell Labs

If you could put just a tgz at sources I'm willing to test it,
even for updates, I could just unpack the tgz again and rebuild the thing.
although I don't have much spare time these days and it's likely
I wont be able to help other than by testing (sorry about that).

But it's great news in any case :)
Thanks a lot to you guys.

On Tue, Jul 12, 2011 at 5:13 PM, Lucio De Re <lucio@proxima.alt.za> wrote:
> On Tue, Jul 12, 2011 at 08:59:22AM +0300, Pavel Zholkover wrote:
>>
>> I'm not sure about gcc, but the go toolchain can produce quite well working
>> Plan 9 binaries.
>>
>> Taru also has the go toolchain running native in itself after some
>> modifications.
>>
> Is there a link to this, please?
>
> I want to take this opportunity to inform 9fans that Russ Cox has helped
> me extensively to update the Go release so that the source code for
> the 386 assembler, linker and C compiler (8a, 8l and 8c) can be built
> without further modification on a 386 Plan 9 native platform.  The leap
> to the other target CPU architectures (x64 and arm) is small and I have
> been preparing the patched sources for it.
>
> The obvious next step is 8g, but I'm holding back on that right now
> so that more extensive testing can take place, rather than propagate
> bad decisions.
>
> I need some help testing the work so far, even more I need some sound
> advice, specifically on how to release the scaffolding needed for the Plan
> 9 environment without prematurely adding it to the Go release.  At the
> moment, I'm using a CVS repository as a poor(stupid?)-man's version
> of Mercurial Queues and it is possible that this will continue to be
> adequate for a while still; I'm concerned about failure of vision, though.
>
> Putting the repository on "sources" may be one way of propagating my
> efforts at this point, but for obvious reasons updates will have to be
> submitted on a different channel.  Again, suggestions are welcome.  I do
> have Mercurial available on a public server, but I'm not comfortable with
> the tool enough to encourage its use at this point, I find grasping all
> the facets of revision control provided by mercurial extremely difficult.
>
> As for the testing required, I am looking for confirmation that 8c, 8a
> and 8l perform as expected in a Plan 9/386 environment, it is building
> this environment that I find hard to do right now, hence my request for
> some assistance.  Naturally, this can all be discussed offline.
>
> ++L
>
>



^ permalink raw reply	[flat|nested] 58+ messages in thread

* [9fans] Plan 9 Go (Was:  GNU/Linux/Plan 9 disto)
  2011-07-12  5:59   ` Pavel Zholkover
@ 2011-07-12 15:13     ` Lucio De Re
  2011-07-12 18:35       ` Francisco J Ballesteros
  2011-07-12 18:44       ` Skip Tavakkolian
  0 siblings, 2 replies; 58+ messages in thread
From: Lucio De Re @ 2011-07-12 15:13 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

On Tue, Jul 12, 2011 at 08:59:22AM +0300, Pavel Zholkover wrote:
>
> I'm not sure about gcc, but the go toolchain can produce quite well working
> Plan 9 binaries.
>
> Taru also has the go toolchain running native in itself after some
> modifications.
>
Is there a link to this, please?

I want to take this opportunity to inform 9fans that Russ Cox has helped
me extensively to update the Go release so that the source code for
the 386 assembler, linker and C compiler (8a, 8l and 8c) can be built
without further modification on a 386 Plan 9 native platform.  The leap
to the other target CPU architectures (x64 and arm) is small and I have
been preparing the patched sources for it.

The obvious next step is 8g, but I'm holding back on that right now
so that more extensive testing can take place, rather than propagate
bad decisions.

I need some help testing the work so far, even more I need some sound
advice, specifically on how to release the scaffolding needed for the Plan
9 environment without prematurely adding it to the Go release.  At the
moment, I'm using a CVS repository as a poor(stupid?)-man's version
of Mercurial Queues and it is possible that this will continue to be
adequate for a while still; I'm concerned about failure of vision, though.

Putting the repository on "sources" may be one way of propagating my
efforts at this point, but for obvious reasons updates will have to be
submitted on a different channel.  Again, suggestions are welcome.  I do
have Mercurial available on a public server, but I'm not comfortable with
the tool enough to encourage its use at this point, I find grasping all
the facets of revision control provided by mercurial extremely difficult.

As for the testing required, I am looking for confirmation that 8c, 8a
and 8l perform as expected in a Plan 9/386 environment, it is building
this environment that I find hard to do right now, hence my request for
some assistance.  Naturally, this can all be discussed offline.

++L



^ permalink raw reply	[flat|nested] 58+ messages in thread

end of thread, other threads:[~2011-07-27  2:55 UTC | newest]

Thread overview: 58+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-07-22  5:36 [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto) arnold
2011-07-22  6:33 ` Lucio De Re
2011-07-22  7:42   ` Bakul Shah
2011-07-22  9:49     ` Lucio De Re
2011-07-22 12:41 ` erik quanstrom
2011-07-22 13:03   ` Lucio De Re
2011-07-22 15:13     ` erik quanstrom
2011-07-22 15:37       ` Lucio De Re
2011-07-22 17:13         ` Bakul Shah
2011-07-22 17:53           ` erik quanstrom
2011-07-22 18:08             ` Lucio De Re
2011-07-22 18:20               ` erik quanstrom
2011-07-22 18:32                 ` Skip Tavakkolian
2011-07-22 19:04                   ` Lucio De Re
2011-07-22 18:54                 ` Lucio De Re
2011-07-22 18:22             ` ComeauAt9Fans@gmail.com
2011-07-22 18:32               ` erik quanstrom
2011-07-22 18:57               ` Lucio De Re
2011-07-22 18:38             ` Bakul Shah
2011-07-22 18:45               ` erik quanstrom
2011-07-22 18:48               ` ComeauAt9Fans@gmail.com
2011-07-22 18:53                 ` erik quanstrom
2011-07-22 19:08                   ` tlaronde
2011-07-22 18:55                 ` Bakul Shah
2011-07-22 19:09                   ` erik quanstrom
2011-07-22 19:42                     ` Bakul Shah
2011-07-23  9:14                       ` erik quanstrom
2011-07-23 13:24                         ` Lucio De Re
2011-07-22 19:13                   ` Lucio De Re
2011-07-22 15:39     ` Bakul Shah
2011-07-22 15:43       ` erik quanstrom
2011-07-22 16:35         ` Steve Simon
2011-07-22 17:53           ` Lucio De Re
2011-07-22 18:03             ` Lucio De Re
2011-07-22 18:30           ` Ethan Grammatikidis
2011-07-22 18:33             ` erik quanstrom
2011-07-22 18:53               ` ComeauAt9Fans@gmail.com
2011-07-22 19:00             ` Lucio De Re
2011-07-22 20:10               ` Ethan Grammatikidis
2011-07-22 22:59                 ` Russ Cox
2011-07-23 11:16                   ` Ethan Grammatikidis
2011-07-22 17:48       ` Lucio De Re
2011-07-22 18:17         ` Ethan Grammatikidis
2011-07-22 19:40         ` Bakul Shah
  -- strict thread matches above, loose matches on Subject: below --
2011-07-22  8:18 arnold
2011-07-15  8:51 Alex Brainman
2011-07-11 16:59 [9fans] GNU/Linux/Plan 9 disto Gorka Guardiola
2011-07-11 19:31 ` Charles Forsyth
2011-07-12  5:59   ` Pavel Zholkover
2011-07-12 15:13     ` [9fans] Plan 9 Go (Was: GNU/Linux/Plan 9 disto) Lucio De Re
2011-07-12 18:35       ` Francisco J Ballesteros
2011-07-13 18:31         ` Lucio De Re
2011-07-13 18:45           ` Lucio De Re
2011-07-14 18:59             ` stephano zanzin
2011-07-14 20:21               ` Lucio De Re
2011-07-14 20:35                 ` Iruatã Souza
2011-07-15  2:37                 ` Fazlul Shahriar
2011-07-22  4:40           ` Lucio De Re
2011-07-22 14:37             ` Ethan Grammatikidis
2011-07-27  2:55               ` kokamoto
2011-07-12 18:44       ` Skip Tavakkolian

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).