/bluefin

Primary LanguageHaskellMIT LicenseMIT

Bluefin Hackage versionStackage versionBuild status

Bluefin is an effect system for Haskell which allows you, through value-level handles, to freely mix a variety of effects including

Introduction

For an introduction to Bluefin, see the docs in the Bluefin module.

Examples

There is an bluefin-examples package which you can see in this repository at bluefin-examples/src/Bluefin/Examples.

Acknowledgements

Tom Ellis would like to thank many individuals for their work related to effect systems. Without the work of these individuals, Bluefin would not exist.

  • Oleg Kiselyov, particularly for his work on effects and delimited continuations

  • Michael Snoyman, particularly for his work on conduit and the ReaderT IO pattern

  • Gabriella Gonzalez, particularly for her work on pipes

  • Alexis King, particularly for her work on effect systems and delimited continuations

  • David Feuer, particularly for his observation about handlers and rank-2 types

  • Andrzej Rybczak for his work on effectful

  • Francois Pottier for "Wandering through linear types, capabilities, and regions"

  • Jasper van de Jeugt, particularly for promoting the handle pattern

  • Michael Thompson, for his work on streaming

  • Ningning Xie and Daan Leijen, for their work on Koka

  • Andrej Bauer and Matija Pretnar, for their work on Eff