1. 08 Apr, 2011 6 commits
    • Robert Griesemer's avatar
      go/types: New Go type hierarchy implementation for AST. · a87382e7
      Robert Griesemer authored
      This CL defines a new, more Go-like representation of
      Go types (different structs for different types as
      opposed to a single Type node). It also implements
      an ast.Importer for object/archive files generated
      by the gc compiler tool chain. Besides the individual
      type structs, the main difference is the handling of
      named types: In the old world, a named type had a
      non-nil *Object pointer but otherwise looked no
      different from other types. In this new model, named
      types have their own representation types.Name. As
      a result, resolving cycles is a bit simpler during
      construction, at the cost of having to deal with
      types.Name nodes explicitly later. It remains to be
      seen if this is a good approach. Nevertheless, code
      involving types reads more nicely and benefits from
      full type checking. Also, the representation seems
      to more closely match the spec wording.
      
      Credits: The original version of the gc importer was
      written by Evan Shaw (chickencha@gmail.com). The new
      version in this CL is based largely on Evan's original
      code but contains bug fixes, a few simplifications,
      some restructuring, and was adjusted to use the
      new type hierarchy. I have added a comprehensive test
      that imports all packages found under $GOROOT/pkg (with
      a 3s time-out to limit the run-time of the test). Run
      gotest -v for details.
      
      The original version of ExportData (exportdata.go) was
      written by Russ Cox (rsc@golang.org). The current version
      is returning the internal buffer positioned at the beginning
      of the export data instead of printing the export data to
      stdout.
      
      With the new types package, the existing in-progress
      typechecker package is deprecated. I will delete it
      once all functionality has been brought over.
      
      R=eds, rog, rsc
      CC=golang-dev
      https://golang.org/cl/4314054
      a87382e7
    • Robert Griesemer's avatar
      scanner: better TokenString output · 70bf4215
      Robert Griesemer authored
      R=rsc
      CC=golang-dev
      https://golang.org/cl/4373048
      70bf4215
    • John DeNero's avatar
      A codewalk through a simple program that illustrates several aspects of Go... · 4ffee801
      John DeNero authored
      A codewalk through a simple program that illustrates several aspects of Go functions: function objects, higher-order functions, variadic functions, tail recursion, etc.  The example program simulates the game of Pig, a dice game with simple rules but a nontrivial solution.
      
      R=adg, rsc, iant2, r
      CC=golang-dev
      https://golang.org/cl/4306045
      4ffee801
    • Alex Brainman's avatar
      test/bench: enable build and test on Windows · 776fd725
      Alex Brainman authored
      R=golang-dev, rsc1
      CC=golang-dev
      https://golang.org/cl/4366043
      776fd725
    • Alex Brainman's avatar
      misc/cgo/life: enable build and test on Windows · 2683c76d
      Alex Brainman authored
      R=golang-dev, rsc1
      CC=golang-dev, vcc
      https://golang.org/cl/4374044
      2683c76d
    • Alex Brainman's avatar
      syscall: fix Windows Signalled · d3cd0c07
      Alex Brainman authored
      Thanks to fhs.
      
      R=golang-dev, r2
      CC=ality, fhs, golang-dev
      https://golang.org/cl/4375044
      d3cd0c07
  2. 07 Apr, 2011 10 commits
  3. 06 Apr, 2011 11 commits
  4. 05 Apr, 2011 13 commits