
Hi all, I'm proposing that the implementations of minimumBy and maximumBy be changed from using foldl1 to foldr1. I found this in a GHC trac ticket[0] labelled 'Newcomer' that has more details / discussion on that. The points that stand out to me are: - the Haskell report says that those methods should be implemented in terms of foldl1 (although as instance methods of Foldable there might be some wiggle room there) - it helps solves a space leak (which at first glance feels like it might be a more common problem than the options that foldl1 removes) - from the discussion on the ticket, it seemed to be an agreeable middle ground As a side note: there have been a few proposals in the past to switch these functions to use foldl', which seemed to have stalled. I don't know what the etiquette is around bringing up minor variations on old proposals again, so I apologise if I've breached some kind of protocol here. Although I guess I've already breached one protocol by pushing a patch to Phabricator for review without getting sign-off from the Core Libraries Committee, so at least I'm being even handed with my clumsiness :) Cheers, Dave [0] https://ghc.haskell.org/trac/ghc/ticket/10830