compactable: A typeclass for structures which can be catMaybed, filtered, and partitioned.

[ bsd3, control, library ] [ Propose Tags ] [ Report a vulnerability ]

This provides polymorphic implementations for filter, compact (catMaybes), and separate. It allows for higher performance implementations to be used in place of defaults for all data structures, and endeavors to centerally document those implementations. Compactable aims to be as general and unconstrained as possible, providing instances for non-Functors like Set, as well as some Contravariants (though not published here). Compactable fully subsumes Data.Witherable, offers more laws, and is more general.

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.1.0.0, 0.1.0.1, 0.1.0.2, 0.1.0.3, 0.1.0.4, 0.1.1.0, 0.1.1.1, 0.1.2.0, 0.1.2.1, 0.1.2.2, 0.1.2.3, 0.1.2.4, 0.2.0.0
Change log ChangeLog.md
Dependencies aeson, base (>=4.9 && <4.16), base-compat, bifunctors, containers, contravariant, data-default-class, deepseq, hashable, keys, lens, QuickCheck, semigroupoids, these, transformers, transformers-compat, unordered-containers, vector, vector-instances [details]
Tested with ghc ==8.6.5, ghc ==8.8.4, ghc ==8.10.7, ghc ==9.0.1
License BSD-3-Clause
Author Isaac Shapira
Maintainer fresheyeball@protonmail.com
Category Control
Source repo head: git clone https://gitlab.com/fresheyeball/Compactable.git
Uploaded by fresheyeball at 2022-01-09T07:12:27Z
Distributions
Reverse Dependencies 9 direct, 3 indirect [details]
Downloads 6990 total (41 in the last 30 days)
Rating 2.25 (votes: 2) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]