packages feed

folds-0.7.6: folds.cabal

name:          folds
category:      Data, Comonads, Enumerator
version:       0.7.6
license:       BSD3
cabal-version: >= 1.10
license-file:  LICENSE
author:        Edward A. Kmett
maintainer:    Edward A. Kmett <ekmett@gmail.com>
stability:     experimental
homepage:      http://github.com/ekmett/folds
bug-reports:   http://github.com/ekmett/folds/issues
copyright:     Copyright (C) 2009-2013 Edward A. Kmett
build-type:    Simple
synopsis:      Beautiful Folding
tested-with:   GHC == 7.4.2
             , GHC == 7.6.3
             , GHC == 7.8.4
             , GHC == 7.10.3
             , GHC == 8.0.2
             , GHC == 8.2.2
             , GHC == 8.4.4
             , GHC == 8.6.5
             , GHC == 8.8.3
             , GHC == 8.10.1

extra-source-files:
  .gitignore
  .hlint.yaml
  .vim.custom
  CHANGELOG.markdown
  README.markdown

description: This package is a playground full of comonadic folds.
  .
  This style of fold is documented in <https://www.fpcomplete.com/user/edwardk/cellular-automata/part-2 "Cellular Automata, Part II: PNGs and Moore">
  .
  This package can be seen as what happens if you chase Max Rabkin's <http://squing.blogspot.com/2008/11/beautiful-folding.html "Beautiful Folding"> to its logical conclusion.
  .
  More information on this approach can be found in the <http://conal.net/blog/posts/another-lovely-example-of-type-class-morphisms "Another lovely example of type class morphisms"> and <http://conal.net/blog/posts/more-beautiful-fold-zipping "More beautiful fold zipping"> posts by Conal Elliott, as well as in Gabriel Gonzales' <http://www.haskellforall.com/2013/08/composable-streaming-folds.html "Composable Streaming Folds">

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

-- You can disable the optimizations -f-optimize for faster builds
flag optimize
  default: True
  manual: True

library
  build-depends:
    adjunctions       >= 4.2   && < 5,
    base              >= 4     && < 5,
    bifunctors        >= 4     && < 6,
    comonad           >= 4     && < 6,
    constraints       >= 0.4   && < 1,
    contravariant     >= 0.4.2 && < 2,
    data-reify        >= 0.6   && < 0.7,
    distributive      >= 0.3   && < 1,
    lens              >= 4     && < 6,
    mtl               >= 2.0.1 && < 2.3,
    pointed           >= 4     && < 6,
    profunctors       >= 5     && < 6,
    reflection        >= 1.3   && < 3,
    semigroupoids     >= 4     && < 6,
    transformers      >= 0.3   && < 0.6,
    unordered-containers >= 0.2 && < 0.3,
    vector            >= 0.10  && < 0.13

  if impl(ghc < 7.8)
    build-depends: tagged >= 0.7 && < 1

  if impl(ghc < 7.11)
    build-depends: semigroups >= 0.8 && < 1

  hs-source-dirs: src

  exposed-modules:
    Data.Fold
    Data.Fold.Class
    Data.Fold.Internal
    Data.Fold.L
    Data.Fold.L'
    Data.Fold.L1
    Data.Fold.L1'
    Data.Fold.M
    Data.Fold.M1
    Data.Fold.R
    Data.Fold.R1

  ghc-options: -Wall

  if flag(optimize)
    ghc-options: -O2

  if impl(ghc >= 8.6)
    ghc-options: -Wno-star-is-type

  default-language: Haskell2010