## Go Roadmap

This page lists features and ideas being developed or discussed by the Go team. This list will be updated as work continues.

The roadmap should be discussed on the golang-nuts mailing list.

### Language roadmap

This is a list of language changes that are being considered. Appearance on this list is no guarantee that the change will be accepted.

- Possibly rewrite restriction on goto across variable declarations.
- Variant types. A way to define a type as being the union of some set of types.
- Generics. An active topic of discussion.

### Implementation roadmap

- Improved garbage collector, most likely a reference counting collector with a cycle detector running in a separate core.
- Debugger.
- Native Client (NaCl) support.
- App Engine support.
- Improved CGO including some mechanism for calling back from C to Go.
- SWIG support.
- Improved implementation documentation.

#### Gc compiler roadmap

- Implement goto restrictions.
- Safe compilation mode: generate code that is guaranteed not to obtain an invalid memory address other than via `import "unsafe"`.
- Generate ELF debug info.
- Improved optimization.
- 5g: Better floating point support.

#### Gccgo compiler roadmap

- Implement goto restrictions.
- Implement garbage collection.
- Use goroutines rather than threads.
- Separate gcc interface from frontend proper.
- Use escape analysis to keep more data on stack.