Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/duskmoon314/meowth

A library which provides abstractions for functional programming in Rust. Inspired by Scala library cats.
https://github.com/duskmoon314/meowth

category-theory functional-programming rust

Last synced: 2 days ago
JSON representation

A library which provides abstractions for functional programming in Rust. Inspired by Scala library cats.

Awesome Lists containing this project

README

        

# Meowth

[![codecov](https://codecov.io/gh/duskmoon314/meowth/branch/main/graph/badge.svg?token=6NHWA7F2LZ)](https://codecov.io/gh/duskmoon314/meowth)
[![crates.io](https://img.shields.io/crates/v/meowth.svg)](https://crates.io/crates/meowth)
[![docs.rs](https://docs.rs/meowth/badge.svg)](https://docs.rs/meowth)

`Meowth` is a library that provides abstractions for functional programming in Rust. Inspired by Scala library [cats](https://github.com/typelevel/cats). The name `Meowth` is a reference to the Pokemon character [Meowth]() as it is a cat-like Pokemon and the name `cats` has been taken.

## Introduction

### Reference

- [Functional Programming (Wikipedia)](https://en.wikipedia.org/wiki/Functional_programming)
- [Category Theory (Wikipedia)](https://en.wikipedia.org/wiki/Category_theory)
- [Category Theory (nLab)](https://ncatlab.org/nlab/show/category+theory)
- [Bartosz Milewski's _Category Theory for Programmers_](https://bartoszmilewski.com/2014/10/28/category-theory-for-programmers-the-preface/)
- [_Category Theory for Programmers_ (PDF)](https://github.com/hmemcpy/milewski-ctfp-pdf)
- [Scala library `cats`](https://typelevel.org/cats/index.html)

## License

Licensed under either of

- Apache License, Version 2.0 ([LICENSE-APACHE](https://github.com/duskmoon314/meowth/blob/main/LICENSE-APACHE) or
)
- MIT license ([LICENSE-MIT](https://github.com/duskmoon314/meowth/blob/main/LICENSE-MIT) or )

at your option.

### Contribution

Unless you explicitly state otherwise, any Contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

## Disclaimer

This is currently a toy project as I learn FP. It may not be production ready. Use at your own risk.

If you are familiar with FP and/or category theory, please feel free to contribute. I would love to learn from you.