The language design documentation in the Carbon project should use a consistent style and tone, and should read as if it were written by a single author. This document describes structural, stylistic, and formatting conventions for the language design, where they have been established.
The language design documentation follows the style conventions for Carbon documentation.
#nnnn, where
nnnn is the issue number, optionally followed by the proposal title, and
should link to the issue or pull request on GitHub. For example,
[#123: widget painting](https://github.com/carbon-language/carbon-lang/pull/123).[Painting details](/proposals/p0123.md#painting-details)Documents within the language design should usually be divided into the
following sections, with suitable level-two (##) headings:
The overview should describe the high-level concepts of this area of the design, following BLUF principles. Where the overview does not fully cover the detailed design, additional sections can be added as needed to more completely describe the design.
The aim of these sections is to describe the design choices that have been made, how those choices fit into the overall design of Carbon, the rationale for those choices, and how and why those choices differ from other languages to which Carbon is likely to be compared, particularly C++, Rust, and Swift.
This section should provide bullet points briefly describing alternative designs that were considered, along with references to the proposals in which those designs were discussed. For example:
- [Paint widgets from bottom to top](/proposals/p0123.md#alternatives-considered).
This section should provide bullet points linking to the following:
For example:
- [Wikipedia example page](https://en.wikipedia.org/wiki/Wikipedia:Example)
- Proposal
[#123: widget painting](https://github.com/carbon-language/carbon-lang/pull/123).
Links to related parts of the design should be included inline, where relevant, not in the references section.