partial-semigroup: A partial binary associative operator

[ algebra, apache, library ] [ Propose Tags ]

A partial semigroup is like a semigroup, but the operator is partial. We represent this in Haskell as a total function (<>?) :: a -> a -> Maybe a.

The partial-semigroup-hedgehog companion package provides support for checking the partial semigroup associativity axiom using the hedgehog package.

Versions 0.0.0.1, 0.1.0.1, 0.1.0.2, 0.1.0.3, 0.2.0.1, 0.3.0.1, 0.3.0.2, 0.3.0.3, 0.4.0.0, 0.4.0.1, 0.5.0.0
Dependencies base (>=4.8 && <4.13), semigroups (>=0.8.4 && <1) [details]
License Apache-2.0
Author Chris Martin <ch.martin@gmail.com>
Maintainer Chris Martin <ch.martin@gmail.com>
Category Algebra
Home page https://github.com/chris-martin/partial-semigroup
Bug tracker https://github.com/chris-martin/partial-semigroup/issues
Source repo head: git clone https://github.com/chris-martin/partial-semigroup
Uploaded by chris_martin at Thu Nov 22 04:30:36 UTC 2018
Distributions NixOS:0.5.0.0, Stackage:0.5.0.0
Downloads 1900 total (61 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2018-11-22 [all 1 reports]
Hackage Matrix CI

Modules

[Index] [Quick Jump]

Flags

NameDescriptionDefaultType
semigroup-in-base

Require a version of base that provides the Data.Semigroup and Data.List.NonEmpty modules.

Disabling this flag adds a dependency on the semigroups package.

EnabledAutomatic
enable-hedgehog

Use the hedgehog package for tests.

Disabling this flag disables all of the tests that use hedgehog.

EnabledAutomatic
enable-doctest

Use the doctest package to test the code examples in Haddock comments.

EnabledAutomatic

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

For package maintainers and hackage trustees