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

See Also