fp-library
A functional programming library for Rust featuring your favourite higher-kinded types and type classes.
Usage
Zero-Cost Abstractions (v2)
The library provides zero-cost, uncurried type classes in the v2 module.
Functor
use map;
use OptionBrand;
let x = Some;
let y = ;
assert_eq!;
Monad
use bind;
use OptionBrand;
let x = Some;
let y = ;
assert_eq!;
Traversable
use traverse;
use ;
let x = vec!;
let y = ;
assert_eq!;
References
- Lightweight higher-kinded polymorphism
- Typeclassopedia
- Lean Mathlib Prelude
- PureScript Pursuit
- Haskell base package Prelude
- PureScript Typeclass Hierarchy
- Where to find theoretical background (i.e., resources) behind PureScript classes?
- Counterexamples of Type Classes
- Haskell semigroupoids package
- Why not Pointed?
- Pluggable lifetimes