packages feed

smash-0.2.0: smash.cabal

cabal-version:      2.0
name:               smash
version:            0.2.0
synopsis:           Combinators for Maybe types
description:
  Smash products are like the 'These' datatype, only with a unit. You can
  think of this type as isomorphic to 'Maybe (These a b)'.

homepage:           https://github.com/emilypi/smash
bug-reports:        https://github.com/emilypi/smash/issues
license:            BSD3
license-file:       LICENSE
author:             Emily Pillmore
maintainer:         emilypi@cohomolo.gy
copyright:          (c) 2020-2026 Emily Pillmore <emilypi@cohomolo.gy>
category:           Data
build-type:         Simple
extra-doc-files:
  CHANGELOG.md
  README.md

tested-with:
  GHC ==9.6.7
   || ==9.8.4
   || ==9.10.3
   || ==9.12.4
   || ==9.14.1

source-repository head
  type:     git
  location: https://github.com/emilypi/smash.git

library
  exposed-modules:
    Control.Monad.Trans.Can
    Control.Monad.Trans.Smash
    Control.Monad.Trans.Wedge
    Data.Can
    Data.Smash
    Data.Smash.Internal
    Data.Wedge

  build-depends:
      base              >=4.15 && <4.23
    , bifunctors        >=5.5 && <5.7
    , binary            ^>=0.8
    , deepseq           >=1.4 && <1.6
    , hashable          >=1.3 && <1.6
    , mtl               >=2.2 && <2.4
    , template-haskell  >=2.2 && <3

  hs-source-dirs:   src
  default-language: Haskell2010
  ghc-options:      -Wall

test-suite smash-tests
  default-language: Haskell2010
  type:             exitcode-stdio-1.0
  hs-source-dirs:    test
  main-is:          Main.hs
  build-depends:
      base              >=4.15 && <4.23
    , smash
    , tasty             >=1.4 && <1.6
    , tasty-hunit       >=0.10 && <0.11
    , tasty-quickcheck  >=0.10 && <0.12
    , QuickCheck        >=2.14 && <2.17
    , binary
    , mtl
    , transformers

  ghc-options:      -Wall -threaded -rtsopts -with-rtsopts=-N