About the Language Design category

This is the dedicated place for proposals and discussion on new language features and their implementation in the early stages of ideation or modifications of existing features. Here we can discuss the initial soundness of the ideas/proposals and define them further. As soon as proposals get more tangible their implementation will also be discussed in the Solidity GitHub organisation in the form of GitHub issues.

A vague “I don’t like how X is working” might get a discussion started, but keep in mind that more specific the proposed solutions are, the more likely they are to be adopted into the language.

Examples of topics that could fit the Language Design category:

  • “Change the way inheritance works”
  • “Introduce a switch statement”

:information_source: You can follow the implementation status of new features in the Solidity Github project. Issues in the design backlog need further specification and will either be discussed in a language design call or in a regular team call. You can see the upcoming changes for the next breaking release by changing from the default branch (develop) to the breaking branch.