Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/uncomplicate/fluokitten
Category theory concepts in Clojure - Functors, Applicatives, Monads, Monoids and more.
https://github.com/uncomplicate/fluokitten
category-theory clojure clojure-library functor monad monoid
Last synced: 3 months ago
JSON representation
Category theory concepts in Clojure - Functors, Applicatives, Monads, Monoids and more.
- Host: GitHub
- URL: https://github.com/uncomplicate/fluokitten
- Owner: uncomplicate
- License: epl-1.0
- Created: 2013-05-19T18:14:00.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2024-05-16T11:16:45.000Z (6 months ago)
- Last Synced: 2024-07-20T05:48:47.718Z (4 months ago)
- Topics: category-theory, clojure, clojure-library, functor, monad, monoid
- Language: Clojure
- Homepage: http://fluokitten.uncomplicate.org
- Size: 705 KB
- Stars: 464
- Watchers: 20
- Forks: 35
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE.html
Awesome Lists containing this project
README
# [Fluokitten](http://fluokitten.uncomplicate.org) - category theory in idiomatic Clojure
[![Build Status](https://secure.travis-ci.org/uncomplicate/fluokitten.png)](https://travis-ci.org/uncomplicate/fluokitten)[Adopt your pet function](https://dragan.rocks/articles/18/Patreon-Announcement-Adopt-a-Function) and [become a patron](https://patreon.com/draganrocks).
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](https://fluokitten.uncomplicate.org). 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:
* [API documentation](https://fluokitten.uncomplicate.org/codox).
* Learning resources on the [Fluokitten Homepage](https://fluokitten.uncomplicate.org)
* Code examples that are parts of the test suite.## 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