Combinator Birds

Function Abstraction Symbol Bird Combinator SK Combinator
labc.a(bc) B Bluebird S(KS)K ((S(KS))K)
labcd.a(bcd) B1 Blackbird BBB ((S(K((S(KS))K)))((S(KS))K))
labcde.a(bcde) B2 Bunting B(BBB)B ((S(K((S(K((S(KS))K)))((S(KS))K))))((S(KS))K))
labcd.a(b(cd)) B3 Becard B(BB)B ((S(K((S(K((S(KS))K)))((S(KS))K))))((S(KS))K))
labc.acb C Cardinal S(BBS)(KK) ((S((S(K((S(KS))K)))S))(KK))
labcd.ab(cd) D Dove BB (S(K((S(KS))K))) D1 Dickcissel B(BB) (S(K(S(K((S(KS))K)))))
labcde.a(bc)(de) D2 Dovekies BB(BB) ((S(K((S(KS))K)))(S(K((S(KS))K))))
labcde.ab(cde) E Eagle B(BBB) (S(K((S(K((S(KS))K)))((S(KS))K))))
labcdefg.a(bcd)(efg) Ê Bald Eagle B(BBB)(B(BBB)) ((S(K((S(K((S(KS))K)))((S(KS))K))))(S(K((S(K((S(KS))K)))((S(KS))K))))) F Finch ETTET ((S(K((S((SK)K))(K((S(K(S((SK)K))))K)))))((S(K((S(K((S(KS))K)))((S(KS))K))))((S(K(S((SK)K))))K))) G Goldfinch BBC ((S(K((S(KS))K)))((S((S(K((S(KS))K)))S))(KK)))
labc.abcb H Hummingbird BW(BC) ((S(K((S(K(S((S(K((S((SK)K))((SK)K))))((S(K((S(KS))K)))((S(K(S((SK)K))))K))))))K)))(S(K((S((S(K((S(KS))K)))S))(KK)))))
la.a I Identity Bird (aka Idiot) SKK ((SK)K)
labcd.ab(adc) J Jay B(BC)(W(BC(B(BBB)))) ((S(K(S(K((S((S(K((S(KS))K)))S))(KK))))))((S((S(K((S((SK)K))((SK)K))))((S(K((S(KS))K)))((S(K(S((SK)K))))K))))(K((S(K((S((S(K((S(KS))K)))S))(KK))))(S(K((S(K((S(KS))K)))((S(KS))K))))))))
lab.a K Kestrel (True) K K
lab.a(bb) L Lark CBM ((S((S(KS))K))(K((S((SK)K))((SK)K))))
la.aa M Mockingbird SII ((S((SK)K))((SK)K))
lab.ab(ab) M2 Double Mockingbird BM (S(K((S((SK)K))((SK)K))))
lab.b(ab) O Owl SI (S((SK)K))
labc.b(ac) Q Queer Bird CB ((S(K(S((S(KS))K))))K)
labc.a(cb) Q1 Quixotic Bird BCB ((S(K((S((S(K((S(KS))K)))S))(KK))))((S(KS))K))
labc.b(ca) Q2 Quizzical Bird C(BCB) ((S(K(S((S(K((S((S(K((S(KS))K)))S))(KK))))((S(KS))K)))))K)
labc.c(ab) Q3 Quirky Bird BT (S(K((S(K(S((SK)K))))K)))
labc.c(ba) Q4 Quacky Bird F*B ((S(K((S((S(K((S(KS))K)))S))(KK))))((S(K(S((S(K((S((S(K((S(KS))K)))S))(KK))))((S(KS))K)))))K))
labc.bca R Robin BBT ((S(K((S(KS))K)))((S(K(S((SK)K))))K)) S Starling S S T Thrush CI ((S(K(S((SK)K))))K)
lab.b(aab) U Turing LO ((S(K(S((SK)K))))((S((SK)K))((SK)K))) V Vireo (aka Pairing) BCT ((S(K((S((S(K((S(KS))K)))S))(KK))))((S(K(S((SK)K))))K)) W Warbler C(BMR) ((S(K(S((S(K((S((SK)K))((SK)K))))((S(K((S(KS))K)))((S(K(S((SK)K))))K))))))K)
lab.baa W1 Converse Warbler CW ((S(K(S((S(K(S((S(K((S((SK)K))((SK)K))))((S(K((S(KS))K)))((S(K(S((SK)K))))K))))))K))))K)
la.a(la) Y Why Bird (aka Sage Bird) SLL (((SS)K)((S(K((SS)(S((SS)K)))))K)
lab.ab I* Identity Bird Once Removed S(SK) (S(SK))
labc.abcc W* Warbler Once Removed BW (S(K((S(K(S((S(K((S((SK)K))((SK)K))))((S(K((S(KS))K)))((S(K(S((SK)K))))K))))))K)))
labcd.abdc C* Cardinal Once Removed BC (S(K((S((S(K((S(KS))K)))S))(KK))))
labcd.acdb R* Robin Once Removed C*C* ((S(K((S((S(K((S(KS))K)))S))(KK))))(S(K((S((S(K((S(KS))K)))S))(KK)))))
labcd.adcb F* Finch Once Removed BC*R* ((S(K(S(K((S((S(K((S(KS))K)))S))(KK))))))((S(K((S((S(K((S(KS))K)))S))(KK))))(S(K((S((S(K((S(KS))K)))S))(KK))))))
labcd.acbd V* Vireo Once Removed C*F* ((S(K((S((S(K((S(KS))K)))S))(KK))))((S(K(S(K((S((S(K((S(KS))K)))S))(KK))))))((S(K((S((S(K((S(KS))K)))S))(KK))))(S(K((S((S(K((S(KS))K)))S))(KK))))))) I** Identity Bird Twice Removed    
labcd.abcdd W** Warbler Twice Removed B(BW) (S(K(S(K((S(K(S((S(K((S((SK)K))((SK)K))))((S(K((S(KS))K)))((S(K(S((SK)K))))K))))))K)))))
labcde.abced C** Cardinal Twice Removed BC* (S(K(S(K((S((S(K((S(KS))K)))S))(KK))))))
labcde.abdec R** Robin Twice Removed BR* (S(K((S(K((S((S(K((S(KS))K)))S))(KK))))(S(K((S((S(K((S(KS))K)))S))(KK)))))))
labcde.abedc F** Finch Twice Removed BF* (S(K((S(K(S(K((S((S(K((S(KS))K)))S))(KK))))))((S(K((S((S(K((S(KS))K)))S))(KK))))(S(K((S((S(K((S(KS))K)))S))(KK))))))))
labcde.abecd V** Vireo Twice Removed BV* (S(K((S(K((S((S(K((S(KS))K)))S))(KK))))((S(K(S(K((S((S(K((S(KS))K)))S))(KK))))))((S(K((S((S(K((S(KS))K)))S))(KK))))(S(K((S((S(K((S(KS))K)))S))(KK)))))))))
lab.b KI Kite (False) KI (K((SK)K))
l W Omega MM (((S((SK)K))((SK)K))((S((SK)K))((SK)K))) KM Konstant Mocker KM (K((S((SK)K))((SK)K)))
lab.aa C(KM) Crossed Konstant Mocker C(KM) ((S(K(S(K((S((SK)K))((SK)K))))))K)
l Q Theta YO ((((SS)K)((S(K((SS)(S((SS)K)))))K)(S((SK)K)))


Notes on the Combinator Birds:
  1. The combinatory birds were borrowed from To Mock A MockingBird, by Raymond Smullyan.
  2. Some additional information about combinator birds can be found in To Dissect a Mockingbird by David C Keenan.
  3. Some of the SK Combinatory terms were first reduced using the Combinatory Logic Tutorial by Chris Barker.



Combinator Calculator




Combinator Calculator:
  1. The javascript program to do the combinator reduction was borrowed from the Combinatory Logic Tutorial by Chris Barker.
  2. The calculator requires that the known combinator birds are entered in upper case.
  3. The unknown functions work best if they are entered in lowercase (e.g. S(KS)Kabc).
  4. The program was extended to support most of the birds in the Combinator Bird table at the top of this web page.
  5. The bird symbols that are one character may be entered directly (e.g. SKBJ).
  6. The minor and converse birds can be entered using two characters (e.g. B1 = blackbird).
  7. The star birds can be entered using two or three characters (e.g. C** = cardinal twice removed).
  8. The Omega and Theta symbols are not supported (use MM and YO instead).



Partial Unlambda Interpreter



Notes on the Partial Unlambda Interpreter:

Chris Rathman /