Whiley / RFCs

Request for Comment (RFC) proposals for substantial changes to the Whiley language.
3 stars 2 forks source link

Whiley RFCs

Substantial change proposals for the Whiley language must be first written up as an RFC and before they can be accepted. The Request for Comment (RFC) process is intended to provide a peer review and voting process to ensure change proposals are vetted and accepted by the community.

When is an RFC needed?

The RFC process should be followed for all "substantial" changes to the Whiley language. What exactly constitutes a "substantial" change to the language is somewhat subtle (and subjective). For example, the following changes would not be considered as substantial:

In contrast, the following changes would be considered as substantial:

If in doubt regarding whether a change in substantial or not, one can first raise this as an issue on the repository of the respective component. Maintainers of that repository will then provide feedback as to whether this requires an RFC or not.

The Process

To get a substantial change accepted into the Whiley language, one must first get the corresponding RFC merged into this repository as a markdown file. At this point the RFC is "active" and may be implemented and, eventually, included in Whiley.

The process is as follows:

The Life-Cycle

Once an RFC has been accepted it must then be implemented. Observe that, getting an RFC accepted does not automatically mean it will become part of the Whiley language. The onus is on the authors and supporters of the RFC to develop a suitable implementation. This will then need to be merged into the relevant parts of the Whiley ecosystem. This might include, for example, the Whiley Compiler (WyC) and the Whiley Language Specification, etc.

Acknowledgements

Inspiration for this RFC process is taken from the processes used by Pony and Rust.