Skip to content
This repository has been archived by the owner on Jul 25, 2018. It is now read-only.
/ fantasy-birds Public archive

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

Notifications You must be signed in to change notification settings

fantasyland/fantasy-birds

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fantasy Birds

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!'

E^ combinator

> eaglebald(x => y => y + x)(a => b => b + a)('!')('birds')(a => b => a + b)('fantasy')('-')
'fantasy-birds!'

F combinator

> finch(-1, 3)(x => y => x * y)
-3

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

About

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

Resources

Stars

Watchers

Forks

Packages

No packages published