https://github.com/pufuwozu/bilby.js
The syntax examples show off a bit of everything:
Monads:
λ.Do()( λ.some(1) >= function(x) { return x < 0 ? λ.none : λ.some(x + 2); } ).getOrElse(0) == 3;
λ.Do()( function(x) { return x < 0 ? λ.none : λ.some(x + 1); } >> function(x) { return x % 2 != 0 ? λ.none : λ.some(x + 1); } )(1).getOrElse(0) == 3;
λ.Do()( λ.some(1) < add(2) ).getOrElse(0) == 3;
λ.Do()( λ.some(add) * λ.some(1) * λ.some(2) ).getOrElse(0) == 3;
λ.Do()( λ.some(1) + λ.some(2) ).getOrElse(0) == 3;
https://github.com/pufuwozu/bilby.js
The syntax examples show off a bit of everything:
Monads:
Kleislis: Functors: Applicatives: Semigroups: