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

Reply via email to