packages feed

zero-0.1.3: zero.cabal

name:                zero
version:             0.1.3
synopsis:            Semigroups with absorption
description:         'Monoid' is a 'Semigroup' glued with a neutral element
                     called 'mempty'. In the same idea, 'Zero' is a 'Semigroup'
                     glued with an absorbing element called 'zero'.
                     .
                     Keep in mind that 'Zero' requires 'Semigroup'. If you have
                     'Semigroup' defined to work with 'Monoid', you might end up
                     with no way to implement 'Zero'. That’s why the 'Semigroup'
                     instance for 'Maybe' is confusing, because it relies on
                     'Monoid', and cannot be used with 'Zero'. 'Success' is the
                     'Zero' equivalent of 'Maybe' + 'Monoid'.
license:             BSD3
license-file:        LICENSE
author:              Dimitri Sabadie <dimitri.sabadie@gmail.com>
maintainer:          Dimitri Sabadie <dimitri.sabadie@gmail.com>
copyright:           Dimitri Sabadie
category:            Data
extra-source-files:  CHANGELOG.md
homepage:            https://github.com/phaazon/zero
bug-reports:         https://github.com/phaazon/zero/issues

build-type:          Simple
cabal-version:       >= 1.10

source-repository head
  type:     git
  location: https://github.com/phaazon/zero.git

library
  ghc-options:         -W -Wall

  exposed-modules:     Data.Zero

  default-extensions:  DefaultSignatures
                     , DeriveGeneric
                     , DeriveTraversable
                     , GeneralizedNewtypeDeriving

  build-depends:       base       >= 4.8  && < 4.9
                     , semigroups >= 0.16 && < 0.18

  hs-source-dirs:      src

  default-language:    Haskell2010