News for hackers. Stuff that matters.
Re:Go at Google: Language Design in the Service of Software ... by JulianMorrison on Tuesday December 04, 2012 @08:42PM (#4874426)
Off hand, I can imagine problems with: multiple guarded blocks at the top level, things outside guards, things that look like guards but aren't (#IFDEF conditional sections, perhaps), things that don't look like guards that are, things that affect which guards are switched on in a dynamic way (detect a feature and enable a lib)...

Some of those could be non issues. There could be other issues I lack the experience to guess. It's no use saying "so don't do that" - not all code is under your control. Honestly if it were simple, it would be solved.

Re:Go at Google: Language Design in the Service of Software ... by cjensen on Tuesday December 04, 2012 @08:55PM (#4874467)
As I mentioned, the cpp needs to recognize the standard pattern and act on it. If you have multiple guards at the top level, you are trying to do something clever which cannot be optimized -- and also cannot be expressed in Go.
Re:Go at Google: Language Design in the Service of Software ... by agentS on Tuesday December 04, 2012 @11:43PM (#4874922)
You mean it cannot be expressed using Go's (non-existent) preprocessor. I am relatively confident that you'd be able to express it in Go (perhaps sacrificing speed, in the process).