Skip to content
Snippets Groups Projects

Add fold functions for arrays

Merged meooow requested to merge meooow/array:folds into master

At the moment it is quite difficult to perform some folds on some arrays.

  • In general, arrays can be folded over by folding over the range of indices and then indexing into the array. This is a little cumbersome, and also inefficient when folding right-to-left because Ix does not offer reversed range generation.
  • Alternately, Array has a Foldable instance which works great, but UArray cannot be Foldable. Folds on UArray can instead be done via elems. Due to list fusion, this works out well for some folds (foldr, foldl'), but not others (foldr').
  • For mutable arrays, there are no alternate ways to fold.

This commit adds some commonly used folds for arrays and mutable arrays to improve this situation.

Fixes #16 (closed).

Edited by meooow

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
Please register or sign in to reply
Loading