Learning Haskell Progressive tutorials aimed at teaching Haskell
How it started?
This repo is created to maintain some docs as I learn haskell. I read Learn you a Haskell and Real world Haskell. Both great books that I would recommend. Actually technically I skimmed both books. The point is by the end of it all I could read and understand most Haskell source code I came across but when I was ready to write some custom stuff I came up blank... didn't know where or how to start.
So this repo is a simple site that includes a bunch of progressive exercises I've done which helped.
Unfortunately I didn't do this while I was stuck, the repo came after I could write some OK looking haskell so it may not be quite accurate in portraying exactly what I did, but it's as much as I remember.
Since I continue to learn new things about Haskell, I'll try to continue adding stuff.
- The concepts and ideas you find in Haskell opens your mind to a raft of different things.
- It performs well.
- It integrates amazingly with C and C++ (with some C wrapper or small modifications)
- It's interesting and sufficiently different to other languages to the point where it doesn't feel like a boring routine working with it.
- It chips away so much boiler plate code.
- It allows all sorts of expressiveness.
- Very modular, re-usable
- You can express otherwise impossible things(i.e. impossible in say Java)
So tell me, what is Haskell?
Haskell is a statically typed,pure, expressive functional programming language. In other words, you compile it to machine code. Every variable in Haskell has a type e.g Int, String etc... It is pure, this means a couple of things. Applying a function multiple times with the same parameters will produce the same results. There are no side effects...usually anyway (there's one exception), in reality what it means is that if a function causes any side effects it is explicit.
Perhaps one of the most awesome things about Haskell is it's type inference. In other typed languages you have to say what a type of a variable is...in Haskell the compiler figures things out for you so you don't have to type it.
- January 19, 2014 » DiSh (DIgest | HaSH) : Hash functions for Haskell