I’m learning functional programming and writing things down as I go. Some of my understanding may be incomplete or wrong, and I expect to refine it in the fullness of time.
This is my diary of learning Haskell (and possibly FP in other languages too). I don’t have a particular goal, but I’m studying with the an eye out for practical use of Haskell and FP in general. My hope is that functional programming can provide a superior approach to writing software compared to OOP.
I started out by quickly viewing the [Haskell Fundamentals course on Pluralsight] to become familiar with the syntax of the language.
I really liked a few things:
a -> b -> c -> d(without distinguishing parameters and return type) disappeared. It’s actually a really neat idea!
I was reading Elements of Programming by Alexander Stepanov and Paul McJones at the time, and I had a clever idea to do the exercises in the book in Haskell instead of C++. I had to do a tactical retreat quite soon as I realised that while the book emphasises value types and pure functions, replacing stateful algorithms with stateless implementations is far from trivial. Moreover, I was just not used to thinking that way.
I had to reconsider my options, and decided to take a more traditional approach by doing some beginner exercises in Haskell.
I went on to review this list of Haskell resources and chose the CIS194 course homework as a starting point.
That’s it for today!