Thursday, August 9, 2012

Haskell Prologue: My Sources

     As I write Intro to Programming with Haskell I am also reading four other books at once:

  1. Learn You a Haskell for Great Good; Miran Lipovaca, CC
  2. Real World Haskell; O'Sullivan, Stewart and Goerzen, O'Reilly Media
  3. A Gentle Introduction to Haskell; Hudak, Peterson, Fasel
  4. Haskell: The Craft of Functional Programming; Simon Thompson, Addison Wesley

     Each one of these books has some strong points in their favor. For instance: LYAH is funny and disarming, which makes it easy to approach while HTCFP has a lot of practice exercises and a gradual approach to building proficiency (see the Western Way to Learn); which are both mandatory imho. I won't copy or reprint any of their work, but I will provide links to their sites when I don't have time to elaborate on a subject which I feel they've covered adequately. I'll stick to covering topics that I feel have been missed or flubbed in some way.

     I'm a young technical writer, so I won't claim to be a sage on the subject ( you can find plenty of problems in my previous work for yourself )  but I know enough about writing to see that current Haskell textbooks are obviously geared to experienced coders who feel like picking up a tertiary hobby language in their downtime. This is a bogus approach for many reasons. 

     For starters, I am a firm believer in scaffolding. You must always attempt to undergo the teaching of a new subject with a clean slate (although this is never 100% possible but that's another article). Because, each new volume will be based upon an arbitrary set of previously-established working concepts. If you (as a writer) did not establish those working concepts, then that means nobody did. When you assume, you make a culo out of you and me. Besides, Haskell is just too important of an advance in Computer Science to be relegated to a hobby-horse. Functional Programming itself is nothing new, but the zen-like balance of elegance and expressive-possibility in Haskell allow it to solve modern programming problems with ease. It frees us from the current CS paradigms and allows us to create new ones. 

     So, for now my writing will be loosely guided by the above texts. However, as I see deficiencies, I will diverge. In this way, the more I write, the less of an influence the above texts will be. I've already decided to make a major divergence from every text on Haskell I know of: I have decided to present Haskell IO first. "Huh? This guy's crazy!" Check out Chapter 1 and you'll see why.



     


No comments:

Post a Comment

Note: Only a member of this blog may post a comment.