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.


This provides polymorphic implimentations for filter, compact (catMaybes), and separate. It allows for higher performance implimentations to be used in place of defaults for all data structures, and endeavors to centerally document those implimentations. 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.


Dependenciesbase (>=4.9 && <4.10.2), containers (>=0.5.7 && <0.6), transformers (>=0.5.2 && <0.6), vector (>=0.11 && <0.13) [details]
AuthorIsaac Shapira
Source repositoryhead: git clone
UploadedTue Jan 23 00:52:26 UTC 2018 by fresheyeball




Maintainers' corner

For package maintainers and hackage trustees