This is a proposal to make the Carbon experiment public. We have not yet hit many of the originally suggested criteria for going public. However, this proposal suggests that increasingly there is more value to moving public sooner rather than waiting to hit these criteria. We are increasingly unable to substantially learn more about the broader interest in Carbon without it being public and we increasingly see value in working with the industry to build and shape the language. Given this, the proposal removes the old plan-of-record and suggests a concrete set of steps to make the experiment public in the immediate future. This is not a change that we can make lightly to the project, and so we worked to check with as many folks as we could first and all three leads were unanimous to move forward here. Note that this proposal was originally discussed in PR #1315. Co-authored-by: josh11b <josh11b@users.noreply.github.com> Co-authored-by: Richard Smith <richard@metafoo.co.uk>
Docs
This directory contains current, accepted documentation underpinning Carbon. These documents cover all aspects of Carbon ranging from the project down to detailed designs for specific language features.
If you're trying to learn more about Carbon, we recommend starting at
/README.md.
Design
The design of the Carbon language, and the rationale for that design, is
documented in the design/ directory. This documentation is
intended to support these audiences:
- People who wish to determine whether Carbon would be the right choice to use for a project compared to other existing languages.
- People working on the evolution of the Carbon language who wish to understanding the rationale and motivation for existing design decisions.
- People working on a specification or implementation of the Carbon language who need a detailed understanding of the intended design.
- People writing Carbon code who wish to understand why the language rules are the way they are.
This is in contrast to proposals, which document the individual decisions that led to this design (along with other changes to the Carbon project), including the rationale and alternatives considered.
Project
The project/ directory contains project-related
documentation for Carbon, including:
- goals, and the principles and roadmap derived from those goals,
- how the project works, and
- how to contribute.
Guides
The guides/ directory contains to-be-written end-user
documentation for developers writing programs in Carbon.
Spec
The spec/ directory contains the to-be-written formal
specification of the Carbon language. This is for implementers of compilers or
other tooling. This is intended to complement the interactive language explorer
tool (TODO: link).