Several Data.OldList functions (like find!) don't take part in list fusion
Here's a (potentially inexhaustive) list of functions from Data.OldList that won't take part in list fusion, either because they lack an unfolding or their unfoldings are captured too late (because of lack of an INLINE
pragma):
-
find -
delete* -
(\\) -
generic* -
dropWhileEnd, dropLength, dropLengthMaybe -
insert* -
intercalate -
inits -
group*, nub* -
intersect* -
lines -
maximum*, minimum* (although the one in Data.Foldable should fuse already)
And here I lost steam. I embolded some (IMO) particularly important functions. I think this ticket can track progress on all these functions.
I'm also unsure how relevant these functions are, given that Data.List
re-exports much from Data.Foldable
nowadays.