2009-12-16 16:30:39 -07:00
|
|
|
<!-- Roadmap -->
|
|
|
|
|
|
|
|
<h2 id="Roadmap">Go Roadmap</h2>
|
|
|
|
|
2010-10-25 23:18:12 -06:00
|
|
|
<p>
|
2009-12-16 16:30:39 -07:00
|
|
|
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>
|
|
|
|
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.
|
2010-10-25 23:18:12 -06:00
|
|
|
<li>
|
|
|
|
Methods for operators, to allow a type to use arithmetic notation for
|
|
|
|
expressions.
|
2009-12-16 16:30:39 -07:00
|
|
|
</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>
|
|
|
|
App Engine support.
|
|
|
|
<li>
|
|
|
|
Improved CGO including some mechanism for calling back from C to Go.
|
|
|
|
<li>
|
|
|
|
Improved implementation documentation.
|
2011-03-01 03:35:46 -07:00
|
|
|
<li>
|
|
|
|
Comprehensive support for internationalization.
|
2009-12-16 16:30:39 -07:00
|
|
|
</ul>
|
|
|
|
|
|
|
|
<h4 id="Gc_roadmap">
|
|
|
|
Gc compiler roadmap</h4>
|
|
|
|
|
|
|
|
<ul>
|
|
|
|
<li>
|
|
|
|
Implement goto restrictions.
|
|
|
|
<li>
|
|
|
|
Improved optimization.
|
|
|
|
<li>
|
2010-12-01 18:10:26 -07:00
|
|
|
Use escape analysis to keep more data on stack.
|
2009-12-16 16:30:39 -07:00
|
|
|
</ul>
|
|
|
|
|
2010-10-25 23:18:12 -06:00
|
|
|
<h4 id="Gccgo_roadmap">
|
2009-12-16 16:30:39 -07:00
|
|
|
Gccgo compiler roadmap</h4>
|
|
|
|
|
|
|
|
<ul>
|
|
|
|
<li>
|
|
|
|
Implement goto restrictions.
|
|
|
|
<li>
|
|
|
|
Use goroutines rather than threads.
|
|
|
|
<li>
|
|
|
|
Separate gcc interface from frontend proper.
|
|
|
|
<li>
|
|
|
|
Use escape analysis to keep more data on stack.
|
|
|
|
</ul>
|
2010-10-25 23:18:12 -06:00
|
|
|
|
|
|
|
<h3 id="done">Done</h3>
|
|
|
|
|
|
|
|
<ul>
|
|
|
|
<li>
|
2010-12-01 18:10:26 -07:00
|
|
|
gc: Generate DWARF debug info.
|
|
|
|
<li>
|
|
|
|
gc: Provide gdb support for runtime facilities.
|
|
|
|
<li>
|
2010-10-25 23:18:12 -06:00
|
|
|
Safe compilation mode: generate code that is guaranteed not to obtain an invalid memory address other than via <code>import "unsafe"</code>.
|
|
|
|
<li>
|
|
|
|
Gccgo: garbage collection.
|
|
|
|
<li>
|
|
|
|
SWIG support.
|
|
|
|
<li>
|
|
|
|
Simpler semicolon rules.
|
|
|
|
<li>
|
2010-10-25 23:29:21 -06:00
|
|
|
A more general definition of <code>...</code> in parameter lists.
|
2010-10-25 23:18:12 -06:00
|
|
|
<li>
|
|
|
|
Explicit conversions from <code>string</code>
|
|
|
|
to <code>[]byte</code> and <code>[]int</code>.
|
|
|
|
<li>
|
|
|
|
A function that will be run by the garbage collector when an item is freed
|
|
|
|
(runtime.SetFinalizer).
|
|
|
|
<li>
|
|
|
|
Public continuous build and benchmark infrastructure (gobuilder).
|
|
|
|
<li>
|
|
|
|
Package manager (goinstall).
|
|
|
|
<li>
|
|
|
|
A means of recovering from a panic (recover).
|
2011-01-19 21:07:38 -07:00
|
|
|
<li>
|
|
|
|
5g: Better floating point support.
|
2010-10-25 23:18:12 -06:00
|
|
|
</ul>
|