On 22/01/2021 09:25, Richard Carlsson wrote:
Den tors 21 jan. 2021 kl 23:55 skrev Loïc Hoguin <[email protected] You say ^ indicates that the match is intentional, and in a perfect
    world perhaps that's true, but in the real world you'll also end up
    with
    misplaced ^ that should not be matches at all, as some of your examples
    show.


Well, those examples had misplaced matches precisely because there was no warning and no requirement for the programmer to state exactly what they meant. If there had been a warning and a requirement to do something (annotation or guard) to silence that warning, the mistake wouldn't have made it there in the first place.

I agree, that's why I think an optional warning is a great idea. The warning could easily be added to a process that would check if new code introduces a warning, and if it does then the new warnings would be required to be manually checked for correctness. If the warnings are correct the process can be updated.

I would trust this far more than the presence of ^ in the code.

This would also be a good opportunity to add a comment for non-obvious matches.

This kind of process would be a good idea regardless of ^ being introduced or made mandatory. In that case the check would simply be on new ^ uses.

--
Loïc Hoguin
https://ninenines.eu
_______________________________________________
eeps mailing list
[email protected]
http://erlang.org/mailman/listinfo/eeps

Reply via email to