Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Clojure
  3. Fluokitten

Fluokitten

EPL-1.0Clojure

A Clojure library implementing category theory concepts like functors, applicatives, monads, and monoids in idiomatic Clojure.

Visit WebsiteGitHubGitHub
476 stars36 forks0 contributors

What is Fluokitten?

Fluokitten is a Clojure library that implements category theory concepts including functors, applicative functors, monads, and monoids. It brings functional programming patterns from languages like Haskell to Clojure in an idiomatic way, allowing developers to write more expressive and composable code while solving problems involving sequential computations and effect handling.

Target Audience

Clojure developers who want to incorporate functional programming patterns and category theory concepts into their code, particularly those familiar with or interested in Haskell-style monadic programming.

Value Proposition

Developers choose Fluokitten because it provides a bridge between Haskell's well-established category theory implementations and Clojure's pragmatic ecosystem, offering good performance while maintaining idiomatic Clojure conventions that feel natural to Clojure programmers.

Overview

Category theory concepts in Clojure - Functors, Applicatives, Monads, Monoids and more.

Use Cases

Best For

  • Implementing monadic error handling in Clojure applications
  • Adding functional programming patterns to existing Clojure codebases
  • Translating Haskell monadic code to Clojure
  • Learning category theory concepts through practical Clojure examples
  • Building composable data transformation pipelines
  • Working with effectful computations in a pure functional style

Not Ideal For

  • Production systems requiring long-term API stability and backward compatibility
  • Clojure teams with no prior experience in Haskell or category theory concepts
  • Projects on tight deadlines where implementing advanced functional abstractions would slow development

Pros & Cons

Pros

Idiomatic Clojure Integration

Implements category theory in a way that feels natural to Clojure programmers, avoiding foreign syntax and fitting seamlessly into existing codebases, as stated in the project goals.

Haskell Convention Compatibility

Follows Haskell's monadic type conventions, allowing developers to easily translate Haskell code and reuse widespread monadic programming knowledge, as highlighted in the README.

Comprehensive Theory Support

Provides implementations of functors, applicatives, monads, and monoids, covering key category theory concepts for expressive and composable code.

Performance Focus

Designed with good performance in mind, ensuring that functional abstractions do not come at a significant runtime cost, as mentioned in the project goals.

Cons

Unstable Development Status

Currently in 0.X.Y version, the library is in development and may have breaking changes, with backward compatibility not prioritized until version 1.0.0, making it risky for production use.

Requires Niche Knowledge

Effective use demands familiarity with Haskell-style category theory, which can be a significant barrier for Clojure developers without a functional programming background.

Limited Production Readiness

The focus on adding features over stability means it lacks the maturity and long-term support expected for enterprise or critical applications.

Frequently Asked Questions

Quick Stats

Stars476
Forks36
Contributors0
Open Issues2
Last commit22 days ago
CreatedSince 2013

Tags

#functional-programming#monoids#library#category-theory#monad#clojure-library#monoid#clojure#applicatives#functors#monads#haskell-inspired#functor

Built With

C
Clojure

Links & Resources

Website

Included in

Clojure2.8k
Auto-fetched 7 hours ago

Related Projects

catscats

Category Theory and Algebraic abstractions for Clojure and ClojureScript.

Stars969
Forks68
Last commit1 year ago
algo.monadsalgo.monads

Macros for defining monads, and definition of the most common monads

Stars468
Forks48
Last commit6 months ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub