

bilby.js - Serious functional programming library for JavaScript - jhck
http://brianmckenna.org/blog/bilby

======
pufuwozu
Thanks for the submission! The GitHub repository might be more interesting:

<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;
    

Kleislis:

    
    
        λ.Do()(
            function(x) {
                return x < 0 ? λ.none : λ.some(x + 1);
            } >> function(x) {
                return x % 2 != 0 ? λ.none : λ.some(x + 1);
            }
        )(1).getOrElse(0) == 3;
    

Functors:

    
    
        λ.Do()(
            λ.some(1) < add(2)
        ).getOrElse(0) == 3;
    

Applicatives:

    
    
        λ.Do()(
            λ.some(add) * λ.some(1) * λ.some(2)
        ).getOrElse(0) == 3;
    

Semigroups:

    
    
        λ.Do()(
            λ.some(1) + λ.some(2)
        ).getOrElse(0) == 3;

