I wonder if it would be possible to have an hlint rule to check for mempty instead of emptyBag.
On Wed, 14 Apr 2021 at 19:27, Richard Eisenberg <r...@richarde.dev> wrote: > Hi devs, > > In the work on simplifying the error-message infrastructure (heavy lifting > by Alfredo, in cc), I've been tempted (twice!) to add > > > instance Semigroup (Bag a) where > > (<>) = unionBags > > > > instance Monoid (Bag a) where > > mempty = emptyBag > > to GHC.Data.Bag. > > The downside to writing these is that users might be tempted to write e.g. > mempty instead of emptyBag, while the latter gives more information to > readers and induces less manual type inference (to a human reader). The > upside is that it means Bags work well with Monoid-oriented functions, like > foldMap. > > I favor adding them, and slipped them into !5509 (a big commit with lots > of other stuff). Alfredo rightly wondered whether this decision deserved > more scrutiny, and so I'm asking the question here. > > What do we think? > > Thanks, > Richard > _______________________________________________ > ghc-devs mailing list > ghc-devs@haskell.org > http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs >
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs