packages feed

semigroups-0.12: semigroups.cabal

name:          semigroups
category:      Algebra, Data, Data Structures, Math
version:       0.12
license:       BSD3
cabal-version: >= 1.10
license-file:  LICENSE
author:        Edward A. Kmett
maintainer:    Edward A. Kmett <ekmett@gmail.com>
stability:     provisional
homepage:      http://github.com/ekmett/semigroups/
bug-reports:   http://github.com/ekmett/semigroups/issues
copyright:     Copyright (C) 2011-2013 Edward A. Kmett
synopsis:      Anything that associates
description:
    In mathematics, a semigroup is an algebraic structure consisting of a set together with an associative binary operation. A semigroup generalizes a monoid in that there might not exist an identity element. It also (originally) generalized a group (a monoid with all inverses) to a type where every element did not have to have an inverse, thus the name semigroup.
build-type:    Simple
extra-source-files: .travis.yml README.markdown

source-repository head
  type: git
  location: git://github.com/ekmett/semigroups.git

flag base2
  default: False
  manual: False

library
  default-language: Haskell98
  other-extensions: CPP

  if !impl(hugs)
    other-extensions: DeriveDataTypeable
    cpp-options: -DLANGUAGE_DeriveDataTypeable

  if flag(base2)
    build-depends: base == 2.*
    cpp-options: -DBASE2
  else
    build-depends:
      base                 >= 3    && < 5,
      bytestring           >= 0.9  && < 0.11,
      containers           >= 0.3  && < 0.6,
      hashable             >= 1.1  && < 1.3,
      nats                 >= 0.1  && < 1,
      text                 >= 0.10 && < 0.12,
      unordered-containers >= 0.2  && < 0.3

  hs-source-dirs: src
  ghc-options:    -Wall

  exposed-modules:
    Data.Semigroup
    Data.List.NonEmpty