Thank you, Toshyia for the proposal! I have a concern about making these changes without the proper communication channels in place. We agreed a while back to focus on the release first and address communication afterward.
Once the communication plan is sorted out, I suggest a more gradual approach to introduce the new parser: - First, introduce the new parser, but make it optional (not enabled by default). Start by showing warnings for any syntax that will be removed, including v5 syntax. - About six months later, add warnings for users not yet using the new parser, and introduce a "strict mode" (which won’t be enabled by default). - Another six months later, set the new parser as the default. - Enable strict mode by default. - In the next major release (version 11), adopt the new parser as the default and remove old syntaxes. Add a "legacy mode" to support older syntaxes, with warnings for their use, and drop v5 syntax. - In the major release after that (version 12), completely remove all old syntaxes. Additionally, I think eval should be handled differently. It needs its own thread and likely more discussion, as well as a clear and careful communication plan for its deprecation. Finally, I’d recommend including a migration tool as part of this plan to help users transition more smoothly. Alex On Tue, Nov 12, 2024 at 12:26 AM Toshiya Kobayashi <toshiyakobaya...@gmail.com> wrote: > > Hello, > > We have merged a new Antlr4 based DRL parser in the drools main branch. > It's not enabled by default, so it doesn't affect users now. > > The new parser has been focused on backward compatibility and existing unit > tests are all green with it. > > However, at this point, we can take an opportunity to "slim down DRL > syntax" in order to improve the future maintainability of drools. > > PROPOSAL is > > - Drop or modify some DRL syntax, which cause maintenance cost and/or > ambiguity and/or are less useful. > - Introduce LanguageLevelOption.DRL10 for the new syntax. Enabled when > configured. It is handled by the new parser. > - Announce "deprecate" for the dropped syntax, so that users can migrate to > DRL10. > - At some point in the future, make LanguageLevelOption.DRL10 default. > (Still keep DRL6 and the old parser as a transition period) > - When we consider the new parser is mature, we will remove DRL6 and the > old parser > > Further details and candidates syntax to drop are written in this docs. > > https://docs.google.com/document/d/1Ibmj-koAMbeaungHuFeQtw2zD03YJcNJkJ-kdN8ugks/edit?usp=sharing > > Feel free to add comments on the docs. Discussing this on the thread is > also great. > > Thanks! > Toshiya --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@kie.apache.org For additional commands, e-mail: dev-h...@kie.apache.org