Bluefin is a Haskell effect system that allows you to mix a variety of effects, such as early return, exceptions, I/O, mutable state, and streams. Effects are accessed through value-level handles, and Bluefin supports multiple effects of the same type. Exceptions in Bluefin are always handled and cannot escape the scope of their handler. Bluefin functions have a common type signature pattern, and the implementation style is similar to effectful. Tips for using Bluefin include using certain language extensions and writing explicit type signatures for handlers. Bluefin allows you to create your own effects, and an example is provided for counting positives and negatives using Bluefin.
Table of contents
In briefIntroductionComparison to other effect systemsImplementationTipsCreating your own effectsExampleSort: