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