The Syntactic Century

The Syntactic Century

A respondent to one of my earlier posts complained that approaching Haskell by way of category theory is a “radical approach that would lead to elitism”, since such an approach is likely to scare off all but the mathematical sophisticate.

That may or may not be true in my opinion a well written CT oriented intro to Haskell need be no more terrifying than any other but I take mild exception to the implied assertion that “elite” is somehow bad.

The community of Haskell programmers (and functional language programmers in general) is a natural, self selecting elite. There’s nothing wrong with that; on the contrary, the elite status of the Haskell Master should be celebrated. Haskell is hard, there’s no sense in denying it, but so are most things worth doing. It’s hard to master the piano, or fly fishing, or brain surgery, or a foreign language, and nobody sensible would pretend otherwise. Why should the highly sophisticated art of functional programming be any different? Elite does not mean snide, or exclusionary, or condescending, or selfish; it means excellence, and the truly elite are open minded, inclusive, and generous with their hard earned knowledge.

I came to Haskell with years of imperative programming under my belt. I became a pretty “advanced” programmer, but I never really felt like I was doing anything a clever monkey couldn’t do. A C programmer spends most of his time doing much what an auto mechanic does diagnosing and fixing problems in a sophisticated machine. There’s nothing wrong with being an auto mechanic or a C programmer; but it’s not exactly an elite.

On my third try I’ve finally begun to appreciate the beauties of Haskell. The turning point for me was category theory, which lead to a sea change in my thinking. I’m not sure I’ll ever become a master Haskell programmer one of the great things about it is you can acquire a pretty good understanding of how the language works without writing Haskell programs but it’s clear that those who do master it are a different kind of programmer. Show me a great C programmer and I’ll show you a Thomas Edison; show me a great Haskell programmer and I’ll show you a J. S. Bach. (Idea for a logo: a measure of musical notation with a lambda clef, and notes tied by arrows.)

The message to newcomers should not be “don’t worry, it’s just like PHP, only different”. It would be more honest to state right up front that this is a different game: entree to the elite is open to anybody, but not for free. You have no right to demand excellence without effort. You have to work; you have to master some mathematical ways of thinking that can in fact be difficult even for those with a good deal of math. You can do this; many others have. But if you’re the type to throw a fit the first time you discover that your customary ways of thinking won’t work, then please, go away. This is for grown ups.

If you value excellence, and are motivated by the prospect of rising above the common dross and attaining excellence yourself, then you are in for a great intellectual adventure of deep insights and dazzling discoveries. And you will find lots of help. There is a plethora of material on the web that will help you, and the community of those who have gone before you is open and more than willing to help those in their apprenticeship.

In my experience the best, most imaginative and talented people are stimulated by a challenge to excel. They want the hard stuff, and they’re the ones who should be evangelized.

The message to business people should be similar. No, Haskell is not PHP on steroids, it’s a different beast altogether. It’s a major paradigm shift, with major benefits that are well worth the costs. You hire expensive, highly trained MBAs to professionally manage your company’s financial assets; why would you not hire elite programmers to manage its information assets? The importance of husbanding knowledge assets to gain competitive advantage is only going to increase; treat it as mere data processing and your competitors will eat you alive. Yes, it’s harder to find a good Haskell programmer than it is to find 100 mediocre PHP hackers, but aside from being more productive, the Haskell programmer comes with a disciplined, highly sophisticated way of thinking about information structures and algorithms. This makes it much more likely that your Haskell staff will do a much better job of figuring out how to turn your raw data into real capital that returns value. There is no one best resource that I’ve found. Klinger’s The Haskell Programmer’s Guide to the IO Monad Don’t Panic is pretty good too, but you have to stare at it for a while. Pierce’s is very useful, but also very concise; 80 pages, and he doesn’t cover monads. But he has some very useful examples; I found I kept going back to Pierce as I worked through other texts.

If one understands catamorphisms/paramorphisms/anamorphisms then the Charity language is also a nice toy to play with.

On thing that especially surprised me, when experimenting with Charity, is how little composition rather than application actually impacts your coding style. Basically you use an uncurried style and that is all, you have learned how to cope with juxtaposition as composition. The fold as the only recursion primitive however has far reaching consequences, meaning that some otherwise simple functions are coded less than intuitively.

However mean your life is,Best Gucci handbags sale meet it and live it; do not shun it and call it hard names. It is not so bad as you are. It looks poorest when you are richest. The fault finder will find faults in paradise. Love your life,poor as it is. Cheap designer handbags share You may perhaps have some pleasant,thrilling,glorious hourss,even in a poor house. The setting sun is reflected from the windows of the alms house as brightly as from the rich man’s abode; the snow melts before its door as early in the spring. Online Brand Name Designer I do not see but a quiet mind may live as contentedly there,and have as cheering thoughts,as in a palace. The town’s poor seem to me often to live the most independent lives of any. May be they are simply great enough to receive without misgiving. Discount Overcoats Store Most think that they are above being supported by the town; but it often happens that they are not above supporting themselves by dishonest means. which should be more disreputable. Cultivate poverty like a garden herb,like sage. Do not trouble yourself much to get new things,whether clothes or friends,Turn the old,return to them. Things do not change; we change. Moncler Coat Sell your clothes and keep your thoughts.

If you are still searching such a replica handbags, cheap oakley sunglasses the Marc by Marc Jacobs Damisi Patchwork Hermes Bags is a nice choice to amp up your city look. Get on the bandwagon now, because the Chloe Cary Satchel has a ton of it bag potential. Because of the distinctive detailing around the bottom zippers, I could see this satchel being turned into lots of other LV Monogram Multicolor Bags shapes hobos, totes, maybe even a mini crossbody. oakley sunglasses store cheap And the fresh orange color would be a vivid and fresh addition to your outfits of fall and winter seasons. The round outside zip pocket works harmoniously with the topstitching details, so special and interesting. Lined in fine cotton, the interior is designed with two inside open pockets for your cell phone, keys or cards etc. And finally I will tell you the most exciting news that this stylish, oakley sunglasses outlet cheap unique marc Jacobs Valentino Handbags is only sold at $398.

I earnestly hope to lead a healthy and prosperous life in the future. cheap oakley sunglasses Judging from my aptitude inclination and personality streaks, my ideal life will be that of a scientist, researching, lecturing, and writing books. As I am from a farming family, I particularly enjoy being close to earth. If I can afford to live a pastoral life in the countryside, I will feel most blessed. oakley sunglasses sale uk As far as social life is concerned, simplicity is what I intend to pursue, so I really don’t need too many friends. All these will be mere talk if I am idle now. To attain my goal, I must make a point of training my body and mind. This is a highly competitive society in which everyone is eager to come out on top. That is not only a competition of physical strength and mental power, but a marathon of patience, faith, and perseverance. cheap oakley sunglasses uk Life is not all roses, but with what I am being equipped with by the top teachers in this elite school, I surely deserve a promising prospect.
The Syntactic Century