fumieval/witherable

Filter with effects

77

stars

187

commits

Haskell

primary language

Jan 5, 2025

updated

hackage.haskell.org/package/witherable

README

witherable

Discord

witherable-class defines Filterable and Witherable class with instances. witherable provides indexed variants, optic-style generalised withers and extra instances.

Why not just fmap catMaybes . traverse f? Because wither can be defined to traverse the structure once. Also, its parametrity ensures that filtering works in a sane way. For more details, see also FilterableとWitherableについて

Dependencies:

  • base-orphans
  • containers
  • hashable
  • transformers
  • unordered-containers
  • vector

Contributors

fumieval

106 commits

phadej

36 commits

treeowl

8 commits

sjakobi

5 commits

fumieval/witherable

Filter with effects

77

stars

187

commits

Haskell

primary language

Jan 5, 2025

updated

hackage.haskell.org/package/witherable

README

witherable

Discord

witherable-class defines Filterable and Witherable class with instances. witherable provides indexed variants, optic-style generalised withers and extra instances.

Why not just fmap catMaybes . traverse f? Because wither can be defined to traverse the structure once. Also, its parametrity ensures that filtering works in a sane way. For more details, see also FilterableとWitherableについて

Dependencies:

  • base-orphans
  • containers
  • hashable
  • transformers
  • unordered-containers
  • vector

Contributors

fumieval

106 commits

phadej

36 commits

treeowl

8 commits

sjakobi

5 commits

Languages

Haskell

100.0%