Sorry about this comment, but I don't think you achieved what you wanted with this article. It's a bit rambling and unfocused, and you don't really ever talk to your audience in language they will understand without a prior background in functional programming. Case in point: there's plenty of Haskell, but the first Ruby is 3/4 of the way down. It would be more effective if you took one or two concepts in Haskell and explained them in detail, starting with Ruby.
If you're telling a story, don't digress. In particular, don't have a six-paragraph section entitled "Digression."<p>A challenge for the author: summarize the article in a single sentence that any Ruby developer would understand.
I was expecting this to be like "How to read Haskell like Python", but of course it took the exact opposite approach.<p><a href="http://blog.ezyang.com/2011/11/how-to-read-haskell/" rel="nofollow">http://blog.ezyang.com/2011/11/how-to-read-haskell/</a>