Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in / Register
  • GHC GHC
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 4,868
    • Issues 4,868
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
  • Merge requests 456
    • Merge requests 456
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Releases
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Glasgow Haskell Compiler
  • GHCGHC
  • Issues
  • #21344
Closed
Open
Created Apr 05, 2022 by Sebastian Graf@sgraf812Developer0 of 12 tasks completed0/12 tasks

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.

Edited Apr 05, 2022 by Sebastian Graf
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking