https://github.com/composewell/fusion-plugin-types
https://github.com/composewell/fusion-plugin-types
Last synced: 12 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/composewell/fusion-plugin-types
- Owner: composewell
- License: bsd-3-clause
- Created: 2020-02-14T13:03:51.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-02-17T08:33:37.000Z (over 6 years ago)
- Last Synced: 2025-05-14T16:57:22.633Z (about 1 year ago)
- Language: Haskell
- Size: 4.88 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# fusion-plugin-types
[](https://hackage.haskell.org/package/fusion-plugin-types)

## Motivation
This package provides types needed to run the fusion-plugin
plugin. This package is separated from the
[fusion-plugin](https://github.com/composewell/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.
```haskell
import Fusion.Plugin.Types (Fuse (..))
{-# ANN type Step Fuse #-}
data Step s a = Yield a s | Skip s | Stop
```
## See Also
* [fusion-plugin](https://github.com/composewell/fusion-plugin)