diff options
author | Ian Lance Taylor <iant@golang.org> | 2009-12-16 15:30:39 -0800 |
---|---|---|
committer | Ian Lance Taylor <iant@golang.org> | 2009-12-16 15:30:39 -0800 |
commit | 2e5a720647c1acb9b8b057bad46dca661f506bd8 (patch) | |
tree | 2917db5936b451537628f17190b3ae5ffb02570f | |
parent | b6bac1c0a501353f418df309f56ca0cdec39b214 (diff) | |
download | go-2e5a720647c1acb9b8b057bad46dca661f506bd8.tar.gz go-2e5a720647c1acb9b8b057bad46dca661f506bd8.zip |
Add roadmap document.
Also adds Development heading on navbar, with Roadmap being
the only current entry.
R=r
CC=golang-dev
https://golang.org/cl/180069
-rw-r--r-- | doc/devel/roadmap.html | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/doc/devel/roadmap.html b/doc/devel/roadmap.html new file mode 100644 index 0000000000..d2158d928e --- /dev/null +++ b/doc/devel/roadmap.html @@ -0,0 +1,105 @@ +<!-- Roadmap --> + +<h2 id="Roadmap">Go Roadmap</h2> + +This page lists features and ideas being developed or discussed by the +Go team. This list will be updated as work continues. + +<p> +The roadmap should be discussed on +the <a href="http://groups.google.com/group/golang-nuts">golang-nuts +mailing list</a>. + +<h3 id="Language_roadmap"> +Language roadmap</h3> + +<p> +This is a list of language changes that are being considered. +Appearance on this list is no guarantee that the change will be +accepted. + +<ul> +<li> +Adjust and simplify semicolon rules. +<li> +Adjust definition of <code>...</code> in parameter lists. +<li> +Add explicit conversions from <code>string</code> +to <code>[]byte</code> and <code>[]int</code>. +<li> +Possibly rewrite restriction on goto across variable declarations. +<li> +Variant types. A way to define a type as being the union of some set +of types. +<li> +Generics. An active topic of discussion. +</ul> + +<h3 id="Implementation_roadmap"> +Implementation roadmap</h3> + +<ul> +<li> +Improved garbage collector, most likely a reference counting collector +with a cycle detector running in a separate core. +<li> +Debugger. +<li> +Native Client (NaCl) support. +<li> +App Engine support. +<li> +Improved CGO including some mechanism for calling back from C to Go. +<li> +SWIG support. +<li> +Public continuous build and benchmark infrastructure. +<li> +Improved implementation documentation. +<li> +Package manager, possibly including a language change to the import +statement. +</ul> + +<h4 id="Gc_roadmap"> +Gc compiler roadmap</h4> + +<ul> +<li> +Method expressions. +<li> +Support multiple packages with the same name (but different import +paths) in the same program. +<li> +Implement goto restrictions. +<li> +Safe compilation mode: generate code which is guaranteed not to obtain +an invalid memory address other than via <code>import "unsafe"</code>. +<li> +Generate ELF debug info. +<li> +Improved optimization. +<li> +5g: Better floating point support. +</ul> + +<h4 id = "Gccgo_roadmap"> +Gccgo compiler roadmap</h4> + +<ul> +<li> +Method expressions. +<li> +Support multiple packages with the same name (but different import +paths) in the same program. +<li> +Implement goto restrictions. +<li> +Implement garbage collection. +<li> +Use goroutines rather than threads. +<li> +Separate gcc interface from frontend proper. +<li> +Use escape analysis to keep more data on stack. +</ul> |