All Projects → uncomplicate → Fluokitten

uncomplicate / Fluokitten

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

Programming Languages

clojure
4091 projects

Projects that are alternatives of or similar to Fluokitten

functional-structures-refactoring-kata
Starting code and proposed solution for Functional Structures Refactoring Kata
Stars: ✭ 31 (-92.4%)
Mutual labels:  monad, functor, category-theory
Ltupatternfactory
Lambda the ultimate Pattern Factory: FP, Haskell, Typeclassopedia vs Software Design Patterns
Stars: ✭ 735 (+80.15%)
Mutual labels:  monad, functor, category-theory
Fp Core.rs
A library for functional programming in Rust
Stars: ✭ 772 (+89.22%)
Mutual labels:  monad, functor, category-theory
Bow
🏹 Bow is a cross-platform library for Typed Functional Programming in Swift
Stars: ✭ 538 (+31.86%)
Mutual labels:  monad, functor, category-theory
Functional Examples
Examples with Functional JavaScript, following Professor Frisby's course
Stars: ✭ 179 (-56.13%)
Mutual labels:  monad, functor, category-theory
Category Theory
An axiom-free formalization of category theory in Coq for personal study and practical work
Stars: ✭ 562 (+37.75%)
Mutual labels:  monad, functor, category-theory
Witchcraft
Monads and other dark magic for Elixir
Stars: ✭ 864 (+111.76%)
Mutual labels:  monad, functor
Crocks
A collection of well known Algebraic Data Types for your utter enjoyment.
Stars: ✭ 1,501 (+267.89%)
Mutual labels:  monad, functor
Mostly Adequate Guide Chinese
函数式编程指北中文版
Stars: ✭ 2,093 (+412.99%)
Mutual labels:  monad, functor
Bastet
A ReasonML/Ocaml library for category theory and abstract algebra
Stars: ✭ 200 (-50.98%)
Mutual labels:  monad, category-theory
Funcadelic.js
Functional programming and category theory for everyday JavaScript development
Stars: ✭ 183 (-55.15%)
Mutual labels:  monad, functor
Language Ext
C# functional language extensions - a base class library for functional programming
Stars: ✭ 3,964 (+871.57%)
Mutual labels:  monad, functor
Purify
Functional programming library for TypeScript - https://gigobyte.github.io/purify/
Stars: ✭ 843 (+106.62%)
Mutual labels:  monad, functor
Lambda
Functional patterns for Java
Stars: ✭ 737 (+80.64%)
Mutual labels:  monad, functor
function-composition-cheatsheet
Composition of Functions
Stars: ✭ 24 (-94.12%)
Mutual labels:  monad, functor
J-Curry
A Java library that enables applying Functional Programming concepts like currying and partial application for functions, also it supports types like Either, Try, etc... using RxJava 2 interfaces, compatible with Java 7 and above
Stars: ✭ 17 (-95.83%)
Mutual labels:  monad, functor
mercator
Automatic typeclass-based abstraction over monad-like types
Stars: ✭ 54 (-86.76%)
Mutual labels:  monad, category-theory
free-arrow
Implementation of the Free Arrow in Scala and other helpful tools for working with Arrows
Stars: ✭ 14 (-96.57%)
Mutual labels:  monad, category-theory
Static Land
Specification for common algebraic structures in JavaScript based on Fantasy Land
Stars: ✭ 699 (+71.32%)
Mutual labels:  monad, functor
elixir-control
An exploratory look into functors, applicatives, and monads for Elixir
Stars: ✭ 21 (-94.85%)
Mutual labels:  monad, functor

Fluokitten - category theory in idiomatic Clojure

Build Status

Adopt your pet function and become a patron.

Fluokitten is a Clojure library that implements category theory concepts, such as functors, applicative functors, monads, monoids etc. in idiomatic Clojure.

There is a lot of documentation and tutorials at Fluokitten Website. Please make sure to check it out.

Project Goals

  • Fit well into idiomatic Clojure - Clojure programmers should be able to use and understand Fluokitten like any regular Clojure library.
  • Fit well into Haskell monadic types conventions - programmers should be able to reuse existing widespread monadic programming know-how and easily translate it to Clojure code.
  • Be reasonably easy to learn - the code from the existing books, articles and tutorials for learning monadic programming, which is usually written in Haskell should be easily translatable to Clojure with Fluokitten.
  • Offer good performance.

Documentation & Examples

The project is documented in the following ways:

Project Maturity

While the project is in the 0.X.Y version it is considered in development, so the priority is adding the new features and enhancing the existing code as much as possible, rather than backward compatibility. Once it reaches version 1.0.0 it will be considered stable, and more consideration will be directed towards supporting backward compatibility.

License

Copyright © 2013-2018 Dragan Djuric

Distributed under the Eclipse Public License, the same as Clojure

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].