fusion-plugin-0.2.8: fusion-plugin.cabal
cabal-version: 2.2
name: fusion-plugin
version: 0.2.8
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.10.7
, GHC==9.0.2
, GHC==9.2.8
, GHC==9.4.7
, GHC==9.6.3
, GHC==9.8.4
, GHC==9.10.3
, GHC==9.12.4
, GHC==9.14.1
author: Pranay Sashank
maintainer: streamly@composewell.com
copyright: (c) 2019 Composewell Technologies
category: Development
extra-doc-files:
CHANGELOG.md
NOTICE
README.md
design/README.md
design/join-constr-app.hs
design/rec-binder-example.core
design/rec-binder-example.hs
source-repository head
type: git
location: https://github.com/composewell/fusion-plugin
library
exposed-modules: Fusion.Plugin
build-depends: base >= 4.0 && < 5
, containers >= 0.5.6.2 && < 0.9
, directory >= 1.2.2.0 && < 1.4
, filepath >= 1.4 && < 1.6
, ghc >= 7.10.3 && < 9.15
, syb >= 0.7 && < 0.8
, time >= 1.5 && < 1.16
, 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