<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/bluefin-rwvrch0oa" -->

---
title: Bluefin | daily.dev
description: 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...
canonical: https://daily.dev/posts/bluefin-rwvrch0oa
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Bluefin | daily.dev
og:description: 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...
og:url: https://daily.dev/posts/bluefin-rwvrch0oa
og:image: https://api.daily.dev/og/posts/Rwvrch0OA.png
og:image:alt: Bluefin
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Bluefin

**[Lobsters](https://daily.dev/sources/lobsters)** · 6 min read · 0 upvotes · 0 comments

## Summary

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.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://hackage.haskell.org/package/bluefin-0.0.4.3/docs/Bluefin.html>

---

Tags: [#haskell](https://daily.dev/tags/haskell)

[View this post on daily.dev](https://daily.dev/posts/bluefin-rwvrch0oa)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Bluefin","url":"https://daily.dev/posts/bluefin-rwvrch0oa","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/bluefin-rwvrch0oa"},"datePublished":"2024-04-26T01:26:16.206Z","dateModified":"2024-05-09T09:27:15.675Z","description":"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...","image":"https://media.daily.dev/image/upload/s--CxzD6vbw--/f_auto/v1722860399/public/Placeholder%2005","thumbnailUrl":"https://media.daily.dev/image/upload/s--CxzD6vbw--/f_auto/v1722860399/public/Placeholder%2005","isAccessibleForFree":true,"articleSection":"Lobsters","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Lobsters","logo":"https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg","url":"https://daily.dev/sources/lobsters"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/bluefin-rwvrch0oa","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"haskell","timeRequired":"PT6M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Lobsters","item":"https://daily.dev/sources/lobsters"},{"@type":"ListItem","position":3,"name":"Bluefin"}]}
```

