Start out the new year by learning or improving your functional programming skills. Join our Haskell functional programming study group!
Metova will be hosting group sessions to study Chris Allen and Julie Moronuki’s “Haskell from First Principles” book. Chris and Julie’s backstories for this book are really fascinating.
The book is available now, but only as an early access work. This is a good thing and means the material is fresh and alive. While the book is not quite finished, there are currently twenty-three chapters totaling over 900 pages of great material. While there are many great functional programming and Haskell programming books available, this book appears to be the best and most pragmatic choice for clearly and painlessly presenting Haskell, regardless of one’s prior experience.
Why Functional Programming
Because of changes in the way hardware must be designed to continue to improve processing capacity, software design must adapt to these new realities. In order to continue to do more work, hardware must be made using more components rather than simply bigger and faster individual components. This means more concurrency complexity. Functional Programming techniques manage concurrency and other forms of complexity differently than their imperative counterparts, through sharing immutables, elimination of side effects, the use of first class functions, etc.
To me this means a freedom to focus more on “What” a problem is rather than “How” the solution gets implemented. When I better understand the nature of a problem, I can often find a better fitting solution. The source is free of distracting implementation details that would only be required to manage the complexity of mutability, side effects, and other artifacts of imperative design.
Haskell, being a purely functional language, enforces a focus on functional programming concepts and techniques. It has a clean and expressive syntax; compared to other languages, Haskell has very little syntax for any purpose beyond expressing concepts. See Haskell, the Language Most Likely to Change the Way you Think About Programming. Mastering these concepts forever changes one’s perspective regardless of the language used to ultimately address a problem. Haskell is an especially good fit because its static typing makes better use of the compiler thus helping to manage the complexity of a growing code base. I did not select Haskell because I thought many of us would use it directly in our day jobs, I selected it because I believe it is the best choice for seeing programming a new way. It is up to each of us to apply that new perspective.
Metova’s Franklin office
3301 Aspen Grove Dr #301
Franklin, TN 37067
Google Hangout for remote participants.
A few times per month, after normal business hours. We are planning to meet the first and third Wednesday of each month, starting February 3rd.
Anybody with an interest in learning or expanding their functional programming expertise, who is willing to commit to the process defined in the book and helping others do the same.
How do I sign up?
There is limited space both locally (Franklin) and remote (Google Hangout) so please sign up now! We are not providing books, so you will have to get your own here.
More about and by the Haskell authors
Follow him on Twitter @bitemyapp
Meditations on Learning Haskell
Some background [Hacker News] More background [Hacker News] A Tour Of Some Useful Recursive Types
Follow her on Twitter @argumatronic.
Also, check out haskellbook on Twitter!