packages feed

ghc-plugin-non-empty-0.0.0.0: ghc-plugin-non-empty.cabal

cabal-version:       3.0
name:                ghc-plugin-non-empty
version:             0.0.0.0
synopsis:            GHC Plugin for non-empty lists
description:
    GHC Plugin for compile-time transformation of list literals to @NonEmpty@ lists.

    @
    {-# __OPTIONS_GHC__ -fplugin=GhcPluginNonEmpty #-}

    __import__ Data.List.NonEmpty (NonEmpty)

    portsToListen :: NonEmpty Int
    portsToListen = [8000, 8080, 8081]
    @

    See [README.md](https://github.com/chshersh/ghc-plugin-non-empty#ghc-plugin-non-empty)
    for more details.
homepage:            https://github.com/chshersh/ghc-plugin-non-empty
bug-reports:         https://github.com/chshersh/ghc-plugin-non-empty/issues
license:             MPL-2.0
license-file:        LICENSE
author:              Dmitrii Kovanikov
maintainer:          Dmitrii Kovanikov <kovanikov@gmail.com>
copyright:           2022 Dmitrii Kovanikov
category:            GHC, Compiler Plugin
build-type:          Simple
extra-doc-files:     README.md
                     CHANGELOG.md
tested-with:         GHC == 9.2.3

source-repository head
  type:                git
  location:            https://github.com/chshersh/ghc-plugin-non-empty.git

common common-options
  build-depends:       base ^>= 4.16

  ghc-options:         -Wall
                       -Wcompat
                       -Widentities
                       -Wincomplete-uni-patterns
                       -Wincomplete-record-updates
                       -Wredundant-constraints
                       -Wnoncanonical-monad-instances
  if impl(ghc >= 8.2)
    ghc-options:       -fhide-source-paths
  if impl(ghc >= 8.4)
    ghc-options:       -Wmissing-export-lists
                       -Wpartial-fields
  if impl(ghc >= 8.8)
    ghc-options:       -Wmissing-deriving-strategies
                       -fwrite-ide-info
                       -hiedir=.hie
  if impl(ghc >= 8.10)
    ghc-options:       -Wunused-packages
  if impl(ghc >= 9.0)
    ghc-options:       -Winvalid-haddock
  if impl(ghc >= 9.2)
    ghc-options:       -Wredundant-bang-patterns
                       -Woperator-whitespace

  default-language:    Haskell2010
  default-extensions:  ConstraintKinds
                       DeriveGeneric
                       DerivingStrategies
                       GeneralizedNewtypeDeriving
                       InstanceSigs
                       KindSignatures
                       LambdaCase
                       OverloadedStrings
                       RecordWildCards
                       ScopedTypeVariables
                       StandaloneDeriving
                       TupleSections
                       TypeApplications
                       ViewPatterns

library
  import:              common-options
  hs-source-dirs:      src
  exposed-modules:     GhcPluginNonEmpty

  build-depends:
    , ghc           ^>= 9.2
    , syb           ^>= 0.7

test-suite ghc-plugin-non-empty-test
  import:              common-options
  type:                exitcode-stdio-1.0
  hs-source-dirs:      test

  main-is:             Spec.hs
  other-modules:       Test.Data.Fail
                       Test.Data.Plain
                       Test.Data.Overloaded

  build-depends:
    , ghc-plugin-non-empty
    , hspec ^>= 2.10

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