Someone in the Elm slack channel threw out this idea of naming Msg
in the past tense, and not imperatively. I thought it was an interesting idea and I adopted the practice, just to try it out. I forgot who it was, I wish I could give them credit.
Anyway, the ramifications were more than I expected, and not simply the same Msg
with different names. What I started doing is naming Msg
as if they were saying "This happened". So where I would say "HandleUsernameField" I might instead say "UsernameFieldChanged" or instead of "Close" I would do "XClicked". What I didnt account for was that Msg
and functionality dont map one to one. So for example, if you have a Msg
named Navigate
, its going to be the one Msg
you use whenever you want to navigate. But if you are naming Msg
as paste-tense descriptions, then several different things could happen that could cause a navigation. Since many things should cause a navigation, naming Msg
in the past tense leads to lots of Msg
which do the same thing.