matchable: A type class for Matchable Functors.

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 package provides a type class Matchable, which represents zipMatch operation which can zip two values if these two have exactly same shape.


[Skip to Readme]

Properties

Versions 0.1.1.1, 0.1.1.1, 0.1.2
Change log CHANGELOG.md
Dependencies base (>=4.10 && <5), containers (>=0.5.10.2 && <0.7), hashable (>=1.0.1.1 && <1.3), tagged (>=0.8 && <0.9), unordered-containers (>=0.2.6 && <0.3), vector (>=0.10.9.0 && <0.13) [details]
License BSD-3-Clause
Author Koji Miyazato
Maintainer viercc@gmail.com
Category Functors
Source repo head: git clone https://github.com/viercc/matchable -b master
Uploaded by viercc at 2018-12-05T07:37:03Z

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for matchable-0.1.1.1

[back to package description]

matchable

This package provides a type class Matchable, which represents zipMatch operation which can zip two values.

zipMatch operation can fail, and it returns zipped value wrapped in Maybe. Specifically, zipMatch returns zipped value if and only if two arguments have exactly same shape.

Example

>>> zipMatch [1,2] ['a','b']
Just [(1,'a'), (2,'b')]
>>> zipMatch [1,2,3] ['a','b']
Nothing

See example also.