Description
Types for the fusion-plugin package.
Description
GHC package that provides types that when used in a package can be identified by the fusion-plugin package to perform any extra optimizations.
README.md
fusion-plugin-types
Motivation
This package provides types needed to run the fusion-plugin plugin. This package is separated from the fusion-plugin package so that library authors can annotate the types that fusion-plugin
should try to fuse but avoid the ghc
dependency in the library itself.
Using the package
To enable support for using the fusion-plugin
plugin, add this package to your build-depends
and annotate your types with Fuse
type from Fusion.Plugin.Types
module.
import Fusion.Plugin.Types (Fuse (..))
{-# ANN type Step Fuse #-}
data Step s a = Yield a s | Skip s | Stop