×

This book is made out of nearly 100% recycled blog posts. It collects Reg "Raganwald" Braithwaite's celebrated series of essays about Combinatory Logic, Method Combinators, and Ruby Meta-Programing into a convenient and inexpensive e-book.

“I bought it a month ago and it is brilliant! It let me connect my functional PL class to Ruby.”—Zach Abbott

  1. 0.1 The MIT License
  2. 0.2 Preface
  3. 1 Introduction
  4. 2 Kestrels
  5. 2.1 Object initializer blocks
  6. 2.2 Inside, an idiomatic Ruby Kestrel
  7. 2.3 The Enchaining Kestrel
  8. 2.4 The Obdurate Kestrel
  9. 2.5 Kestrels on Rails
  10. 2.6 Rewriting “Returning” in Rails
  11. 3 The Thrush
  12. 3.1 Let
  13. 4 Songs of the Cardinal
  14. 4.1 Building a Cardinal in Ruby
  15. 5 Quirky Birds and Meta-Syntactic Programming
  16. 5.1 A limited interpretation of the Quirky Bird in Ruby
  17. 5.2 Embracing the Quirky Bird
  18. 5.3 Andand even more
  19. 6 Aspect-Oriented Programming in Ruby using Combinator Birds
  20. 6.1 Giving methods advice
  21. 6.2 The super keyword, perhaps you’ve heard of it?
  22. 6.3 The Queer Bird
  23. 7 Mockingbirds
  24. 7.1 Duplicative Combinators
  25. 7.2 Recursive Lambdas in Ruby
  26. 7.3 Recursive Combinatorics
  27. 7.4 Recursive Combinators in Idiomatic Ruby
  28. 7.5 The Mockingbird
  29. 8 Refactoring Methods with Recursive Combinators
  30. 8.1 Divide and Conquer
  31. 8.2 The Merge Sort
  32. 8.3 Separating Declaration from Implementation
  33. 8.4 Practical Recursive Combinators
  34. 8.5 Spicing things up
  35. 8.6 Building on a legacy
  36. 8.7 Seriously
  37. 8.8 Separating Implementation from Declaration
  38. 8.9 A Really Simple Recursive Combinator
  39. 9 You can’t be serious!?
  40. 9.1 String to Proc
  41. 9.2 The Message
  42. 10 The Hopelessly Egocentric Book Chapter
  43. 10.1 Object-oriented egocentricity
  44. 11 Bonus Chapter: Separating Concerns in Coffeescript using Aspect-Oriented Programming
  45. 12 Appendix: Finding Joy in Combinators
  46. 12.1 Languages for combinatorial logic
  47. 12.2 Concatenative languages
  48. 13 Appendix: Source Code
  49. 13.1 kestrels
  50. 13.2 thrushes
  51. 13.3 the cardinal
  52. 13.4 quirky birds
  53. 13.5 bluebirds
  54. 14 About The Author
  55. 14.1 contact