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

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

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.


Change log
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]
License BSD-3-Clause
Author Isaac Shapira
Category Control
Source repo head: git clone
Uploaded by fresheyeball at 2022-01-09T07:11:50Z


[Index] [Quick Jump]


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees