packages feed

fusion-plugin-0.2.6: fusion-plugin.cabal

cabal-version:       2.2

name:                fusion-plugin
version:             0.2.6
synopsis:            GHC plugin to make stream fusion more predictable.
description:
  This plugin provides the programmer with a way to annotate certain
  types using a 'Fuse' pragma from the
  <https://hackage.haskell.org/package/fusion-plugin-types fusion-plugin-types>
  package. The programmer would annotate the types that are to be
  eliminated by fusion. During the simplifier phase the plugin goes
  through the relevant bindings and if one of these types are found
  inside a binding then that binding is marked to be inlined
  irrespective of the size.
  .
  This plugin was primarily motivated by
  <https://streamly.composewell.com streamly> but it can
  be used in general.
homepage:            https://github.com/composewell/fusion-plugin
bug-reports:         https://github.com/composewell/fusion-plugin/issues
license:             Apache-2.0
license-file:        LICENSE
tested-with:         GHC==8.6.5
                   , GHC==8.8.4
                   , GHC==8.10.7
                   , GHC==9.0.2
                   , GHC==9.2.4
                   , GHC==9.4.2
author:              Pranay Sashank
maintainer:          streamly@composewell.com
copyright:           (c) 2019 Composewell Technologies
category:            Development
extra-source-files:  CHANGELOG.md
                     NOTICE
                     README.md
                     design/README.md
                     design/join-constr-app.hs
                     design/rec-binder-example.core
                     design/rec-binder-example.hs
                     stack.yaml

source-repository head
    type: git
    location: https://github.com/composewell/fusion-plugin

library
  exposed-modules:     Fusion.Plugin
  build-depends:       base         >= 4.0     && <  5.0
                     , containers   >= 0.5.6.2 && <  0.7
                     , directory    >= 1.2.2.0 && <  1.4
                     , filepath     >= 1.4     && <  1.5
                     , ghc          >= 7.10.3  && <  9.5
                     , syb          >= 0.7     && <  0.8
                     , time         >= 1.5     && <  1.14
                     , transformers >= 0.4     && < 0.7

                     , fusion-plugin-types >= 0.1 && < 0.2
  hs-source-dirs:      src
  ghc-options:         -Wall
  if impl(ghc >= 8.0)
    ghc-options:       -Wcompat
                       -Wunrecognised-warning-flags
                       -Widentities
                       -Wincomplete-uni-patterns
                       -Wredundant-constraints
                       -Wnoncanonical-monad-instances
  default-language:    Haskell2010