3 ms·
Show HN: "Kestrels, Quirky Birds, and Hopeless Egocentricity," free online
- raganwald 14y agoIf you have any suggestions for links to blog posts or other resources related to combinatory logic, please post them, Id like to expand the list of related links. Thanks in advance...
- bediger4000 14y agoJohn Tromp's paper "Binary Lambda Calculus and Combinatory Logic" (http://homepages.cwi.nl/~tromp/cl/LC.pdf http://homepages.cwi.nl/~tromp/cl/LC.pdf) is a genuine classic. Henk Barendregdt's "Juggling With Combinators" (http://repository.ubn.ru.nl/handle/2066/17290 http://repository.ubn.ru.nl/handle/2066/17290) shows you a lot of interesting things you can do with Combinatory Logic. Barendregdt's "Reflection and its use" (ftp://ftp.cs.kun.nl/pub/CompMath.Found/biologen.pdf) has a small, but interesting section on Combinatory Logic. The exercizes include finding a CL term that Barendregdt calls an "Ogre", same as Smullyan's Hopelessly Egocentric bird. Jan Willem Klop's "Cycles in Combinatory Logic" (http://web.mac.com/janwillemklop/Site/Bibliography_files/10.RCCL.PDF http://web.mac.com/janwillemklop/Site/Bibliography_files/10....) does a lot of neat things in a proof that is very hard to understand. It has a section at the end about CL bases other than SKI that's very interesting.
- raganwald 14y agoI've included these, thank you!
- evincarofautumn 14y agoFor the Haskellers in the room, the “K” combinator is “const”, and the “S” combinator is “ap” in the Reader monad. Combinators encode common patterns; for example, you can use the fact that Sxyz = xz(yz) to write functions that split some input in two, do a computation on both parts, then join the results: capitalize = (:) . toUpper . head <*> map toLower . tail Of course, combinators rapidly become unwieldy for anything nontrivial, since they are the essence of point-free style. And most SK calculus terms aren’t typeable in Haskell anyway.
- datashaman 14y agoBuy this! It will expand your mind and your toolset. Excellent writing, love the github site.