Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
56 lines (38 sloc) 4.62 KB
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8' />
<meta http-equiv="X-UA-Compatible" content="chrome=1" />
<meta name="description" content="Kestrels, Quirky Birds, and Hopeless Egocentricity" />
<link rel="stylesheet" type="text/css" media="screen" href="stylesheets/stylesheet.css">
<title>Kestrels, Quirky Birds, and Hopeless Egocentricity</title>
</head>
<body>
<div id="header_wrap" class="outer">
<header class="inner">
<a id="forkme_banner" href="https://github.com/combinators-info">View on GitHub</a>
<h1 id="project_title">combinators.info</h1>
<h2 id="project_tagline"></h2>
</header>
</div>
<div id="main_content_wrap" class="outer">
<section id="main_content" class="inner">
<h1>Kestrels, Quirky Birds, and Hopeless Egocentricity</h1>
<p>This web site began when I started to apply some of the ideas from Combinatory Logic to my daily programming. Combinatory Logic is a fascinating subject in its own right, and stands beside the Lambda Calculus as one of the foundations of Computer Science. What makes it so interesting to me is that in addition to being a powerful theoretical basis for reasoning about computers, it is chock full of ideas that are surprisingly practical for day-to-day programming.</p>
<p>I've blogged about some of the applications of Combinatory Logic to my Ruby programming: <a href="http://github.com/raganwald/homoiconic/tree/master/2008-10-29/kestrel.markdown#readme">Kestrels</a>, <a href="http://github.com/raganwald/homoiconic/tree/master/2008-10-30/thrush.markdown#readme">The Thrush</a>, <a href="http://github.com/raganwald/homoiconic/tree/master/2008-10-31/songs_of_the_cardinal.markdown#readme">Songs of the Cardinal</a>, <a href="http://github.com/raganwald/homoiconic/tree/master/2008-11-04/quirky_birds_and_meta_syntactic_programming.markdown#readme">Quirky Birds and Meta-Syntactic Programming</a>, <a href="http://github.com/raganwald/homoiconic/tree/master/2008-11-07/from_birds_that_compose_to_method_advice.markdown#readme">Aspect-Oriented Programming in Ruby using Combinator Birds</a>, <a href="http://github.com/raganwald/homoiconic/tree/master/2008-11-12/the_obdurate_kestrel.md#readme">The Enchaining and Obdurate Kestrels</a>, <a href="http://github.com/raganwald/homoiconic/tree/master/2008-11-16/joy.md#readme">Finding Joy in Combinators</a>, <a href="http://github.com/raganwald/homoiconic/tree/master/2008-11-23/recursive_combinators.md#readme">Refactoring Methods with Recursive Combinators</a>, <a href="http://github.com/raganwald/homoiconic/tree/master/2008-11-26/practical_recursive_combinators.md#readme">Practical Recursive Combinators</a>, <a href="http://github.com/raganwald/homoiconic/tree/master/2009-02-02/hopeless_egocentricity.md#readme">The Hopelessly Egocentric Blog Post</a>, and <a href="http://github.com/raganwald/homoiconic/tree/master/2009-06-29/wrapping_combinators.md#readme">Wrapping Combinators</a>.</p>
<p>If you're looking for a place to start, the very first post, <a href="http://github.com/raganwald/homoiconic/tree/master/2008-10-29/kestrel.markdown#readme">Kestrels</a>, presumes no previous knowledge of combinators or advanced Ruby-fu. <a href="http://github.com/raganwald/homoiconic/tree/master/2008-11-16/joy.md#readme">Finding Joy in Combinators</a> was actually written in the middle, but it can be read at any time, it points towards <a href="http://en.wikipedia.org/wiki/Concatenative_programming_language">concatenative programming languages</a>, an interesting study area.
<center>
<iframe width="160" height="400" src="https://leanpub.com/combinators/embed" frameborder="0" allowtransparency="true"></iframe>
<iframe src="http://rcm.amazon.com/e/cm?t=raganwald001-20&o=1&p=8&l=as4&ref=ss_til&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
</center>
<p>More than a few people suggested I write a book about combinators in Ruby, so I adapted the blog posts into a convenient and portable <a href="https://leanpub.com/combinators">ebook</a> (in PDF, ibook, and mobi formats). For your convenience, <a href="./chap00.html"><b>You can read the entire text online</b></a>. It's covered by <a href="http://www.opensource.org/licenses/mit-license.php">The MIT License</a>, so feel free to deep link, copy, and share.</p>
</section>
</div>
<!-- FOOTER -->
<div id="footer_wrap" class="outer">
<footer class="inner">
<p>Published with <a href="http://pages.github.com">GitHub Pages</a></p>
</footer>
</div>
</body>
</html>