cabal-version: 2.2 name: map-reduce-folds version: 0.1.0.4 build-type: Simple synopsis: foldl wrappers for map-reduce description: map-reduce-folds simplifies the building of folds to do map-reduce style computations on collections. It breaks the map/reduce into an unpacking step where items may be filtered, transformed or "melted" (made into several new items), an assign step where the unpacked items are assigned keys, a grouping step where the assigned items are grouped by key and then a reduce step which is applied to each grouped subset. Tools are provided to simplify building the individual steps and then "engines" are provided for combining them into efficient folds returning an assortment of containers. The various pieces are replicated for effectful (monadic) steps producing effectful (monadic) folds. bug-reports: https://github.com/adamConnerSax/map-reduce-folds/issues license: BSD-3-Clause license-file: LICENSE author: Adam Conner-Sax maintainer: adam_conner_sax@yahoo.com copyright: 2019 Adam Conner-Sax category: Control extra-source-files: ChangeLog.md tested-with: GHC ==8.6.4 || ==8.6.2 flag dump-core description: Dump HTML for the core generated by GHC during compilation default: False source-repository head Type: git Location: https://github.com/adamConnerSax/map-reduce-folds common deps build-depends: base >= 4.12.0 && < 4.14, containers >= 0.5.0 && < 0.7, foldl >= 1.4.5 && < 1.5, profunctors >= 5.3 && < 5.6, text >= 1.2.3 && < 1.3, unordered-containers >= 0.2.10 && < 0.3 library import: deps if flag(dump-core) build-depends: dump-core ghc-options: -fforce-recomp -fplugin=DumpCore -fplugin-opt DumpCore:core-html ghc-options: -Wall -O2 -fspec-constr-recursive=16 -fmax-worker-args=16 -fspecialise-aggressively -funbox-strict-fields -fexpose-all-unfoldings exposed-modules: Control.MapReduce , Control.MapReduce.Core , Control.MapReduce.Simple , Control.MapReduce.Engines , Control.MapReduce.Engines.Streaming , Control.MapReduce.Engines.Streamly , Control.MapReduce.Engines.Vector , Control.MapReduce.Engines.List , Control.MapReduce.Engines.ParallelList build-depends: discrimination >= 0.3 && < 0.5, hashable >= 1.2.4 && < 1.5, hashtables >= 1.2.0.0 && < 1.3.0.0, vector >= 0.12.0 && < 0.13, parallel >= 3.2.2 && < 3.3, split >= 0.2.3 && < 0.3, streaming >= 0.2.2 && < 0.3, streamly >= 0.7.0 && < 0.8 hs-source-dirs: src default-language: Haskell2010 test-suite map-reduce-folds-test type: exitcode-stdio-1.0 main-is: TestAll.hs other-modules: Test1 hs-source-dirs: test ghc-options: build-depends: base , hedgehog >= 0.6.0 && < 1.1 , map-reduce-folds , containers , foldl default-language: Haskell2010 benchmark bench-map-reduce import: deps if flag(dump-core) build-depends: dump-core ghc-options: -fforce-recomp -fplugin=DumpCore -fplugin-opt DumpCore:core-html type: exitcode-stdio-1.0 hs-source-dirs: bench other-modules: ghc-options: -O2 -fspec-constr-recursive=16 -fmax-worker-args=16 -fspecialise-aggressively -funbox-strict-fields -fexpose-all-unfoldings -fforce-recomp -- -threaded "-with-rtsopts=-N" main-is: MapReduce.hs build-depends: map-reduce-folds >= 0.1.0.0, criterion , deepseq , random default-language: Haskell2010 test-suite listStats import: deps type: exitcode-stdio-1.0 main-is: ListStats.hs hs-source-dirs: examples ghc-options: -Wall -O2 -fspec-constr-recursive=16 -fmax-worker-args=16 build-depends: map-reduce-folds -any default-language: Haskell2010 test-suite readmeExample import: deps type: exitcode-stdio-1.0 main-is: readmeExample.hs hs-source-dirs: examples ghc-options: -Wall -O2 -fspec-constr-recursive=16 -fmax-worker-args=16 build-depends: map-reduce-folds -any default-language: Haskell2010