packages feed

MapWith-0.1.0.0: MapWith.cabal

name:                MapWith
version:             0.1.0.0

synopsis:            mapWith: like fmap, but with additional arguments (isFirst, isLast, etc).
category:            Combinators
maintainer:          dj112358@outlook.com

description:         fmap over Traversables (including lists), but pass additional parameters to the map function, such as
                     isFirst, isLast, prevElt, nextElt, index from start or end, custom params.
                     For examples see https://github.com/davjam/MapWith/blob/master/doc/examples.hs

license:             BSD3
license-file:        LICENSE
author:              David James
copyright:           (c) David James, 2020.

build-type:          Simple
tested-with:         GHC == 8.0.2, GHC == 8.4.3, GHC == 8.8.3
extra-source-files:  ChangeLog.md

cabal-version:       >=1.10

source-repository head
  type:              git
  location:          https://github.com/davjam/MapWith.git

library
  exposed-modules:     MapWith
  hs-source-dirs:      src
  ghc-options:         -Wall
  other-extensions:    ExistentialQuantification
  default-language:    Haskell2010
  build-depends:       base >= 4.9.1 && < 4.15
  --I know it works on 4.11.1. I believe suspect it will work on 4.14, based on the documentation (e.g. https://hackage.haskell.org/package/base-4.14.0.0/docs/Data-List.html#v:mapAccumL)

Test-Suite test-MapWith
  main-is:             MapWithTest.hs
  Other-modules:       MapWith
  type:                exitcode-stdio-1.0
  hs-source-dirs:      src test
  default-language:    Haskell2010
  build-depends:       base


--cabal bench perf-prev-next-baseline --benchmark-options="+RTS -P -hd"
--hp2ps -e8in -c perf-prev-next-baseline.hp
--see https://stackoverflow.com/questions/22942194/profiling-an-executable-with-cabal
benchmark perf-prev-next-baseline
  main-is:             PrevNextBaseline.hs
  hs-source-dirs:      perf
  type:                exitcode-stdio-1.0
  default-language:    Haskell2010        
  build-depends:       base

--cabal bench perf-ind-end-baseline --benchmark-options="+RTS -P -hd"
--hp2ps -e8in -c perf-ind-end-baseline.hp
benchmark perf-ind-end-baseline
  main-is:             IndEndBaseline.hs
  hs-source-dirs:      perf
  type:                exitcode-stdio-1.0
  default-language:    Haskell2010
  build-depends:       base

--cabal bench perf-prev-next --benchmark-options="+RTS -P -hd"
--hp2ps -e8in -c perf-prev-next.hp
benchmark perf-prev-next
  main-is:             PrevNext.hs
  Other-modules:       MapWith
  hs-source-dirs:      src perf
  type:                exitcode-stdio-1.0
  default-language:    Haskell2010
  build-depends:       base

--cabal bench perf-ind-end --benchmark-options="+RTS -P -hd"
--hp2ps -e8in -c perf-ind-end.hp
benchmark perf-ind-end
  main-is:             IndEnd.hs
  Other-modules:       MapWith
  hs-source-dirs:      src perf
  type:                exitcode-stdio-1.0
  default-language:    Haskell2010
  build-depends:       base