0.1.0 • Published 8 years ago

fantasy-birds v0.1.0

Weekly downloads
1
License
MIT
Repository
github
Last release
8 years ago

Fantasy Birds

npm.io

General

This is a port of the haskell package Data.Aviary.Birds. Every thing for your combinatory needs.

Check out the docs to see all available birds.

Build Status npm version dependecies

Ornithology

A combinator or apply

> applicator(x => x + 1)(3)
4

B3 combinator or function composition (for three functions)

> becard(x => x * -1)(x => x * 2)(x => x - 1)(3)
-4

B1 combinator

> blackbird(x => x * -1)(x => y => x + y)(3)(5)
-8

B combinator or function composition

> bluebird(x => x * 2)(x => x - 1)(3)
4

B' combinator

> bluebird_(x => y => x * y)(2)(x => x + 1)(2)
6

B2 combinator

> bunting(x =>  x * -1)(x => y => z => x + y + z)(1)(2)(3)
-6

C combinator or flip

> cardinal(str => prefix => prefix + str)('-')('birds')
'-birds'

C' combinator

> cardinal_(x => y => x * y)(x => x + 1)(2)(3)
8

C* combinator - cardinal once removed.

> cardinalstar(str => prefix => postfix => prefix + str + postfix)('birds')('!')('-')
'-birds!'

C** combinator - cardinal twice removed.

> cardinalstarstar(a => b => separator => postfix => a + separator + b + postfix)('fantasy')('birds')('!')('-')
'fantasy-birds!'

D1 combinator

> dickcissel(prefix => postfix => str => prefix + str + postfix)('-')('!')(x => x.toUpperCase())('birds')
'-BIRDS!'

D combinator

> dove(postfix => str => str + postfix)('!')(x => x.toUpperCase())('birds')
'BIRDS!'

D2 combinator

> dovekie(prefix => str => prefix + str)(x => x.toUpperCase())('fantasy-')(x => x.toLowerCase())('BIRDS')
'FANTASY-birds'

E combinator

> eagle(prefix => str => prefix + str)('-')(str => postfix => str + postfix)('birds')('!')
'-birds!'

identity

> idiot('bird')
'bird'

K combinator or const

> kestrel('bird')('cat')
'bird'

PSI combinator or on

> psi(x => y => x + y)(x => x * -1)(3)(5)
-8