I mentioned this in #1706, but that PR was merged before we decided on what to do.
Quoting myself :
I also find the ordering of the type parameters a bit confusing. Now it is
E(Reader) ->S(State) ->L(Writer), while the nameReaderWriterStateTsuggests thatWritercomes beforeState. The reason is probably theBifunctorinstance for theWriterpart.I would drop the
Bifunctorinstance and switch the order ofSandLso it aligns with the name. We could also leave as it is or change toReaderStateWriterT:smiley:. If we want to change something, it should probably be done before 1.0.0-MF. Opinions?
_I won't be able to work on this before the 16th, so feel free to pick this up._
I vote for renaming to ReaderStateWriterT
I'd personally prefer to have it as RWS (as that is how it's commonly known as) and drop the Bifunctor. I don't really think the Bifunctor instance is all that important for RWS.
In my opinion, there is some value in the recognizability of the ReaderWriterStateT name. ReaderStateWriterT trips me up quite a bit, even if there is a good argument that the name order is better than the original. I have no opinion on the Bifunctor instance.
Agreed, but my opinion is to remove the Bifunctor instance because it's probably not really useful; ultimately it's arbitrary anyway, should be a Trifunctor ;)
okay it makes more sense to drop the Bifunctor and keep the name. PR incoming.
Most helpful comment
In my opinion, there is some value in the recognizability of the
ReaderWriterStateTname.ReaderStateWriterTtrips me up quite a bit, even if there is a good argument that the name order is better than the original. I have no opinion on theBifunctorinstance.