Day 29

October 1, 2018

Day 29

Functional Programming in Haskell

To start I would just like to praise how good the Haskell book is for beginners:

“Haskell Programming from first principles” - Christopher Allen & Julie Moronuki.”

It builds up every concept up from the (actual) core fundamentals and builds-up to the underlying F.P philosophy. Starting from Lambda calculus in the first chapter, at first it was a bit scary and and just seeing a lambda symbol is intimidating but it’s actually a very simple concept. You have a lambda head which directs the argument to the lambda body and by inputting lambda functions as arguments, you can nest big scary lambda functions as you can see below.

Lambda Calculus

Having attempted Functional Programming in Scala before reading this book and reaching the ‘Currying’ chapter, doing lambda calculus clarifies the concept of currying and higher order functions. Writing out the function and doing the mental ‘currying’ myself makes the concept a lot clearer.

The book also acts as a general programming Jargon buster, it clarifies things which to an experienced programmer may seem obvious. Such as; difference between argument and parameter, what a declaration is? What expressions are? .etc

HelloWorld

Syntax is quite different to Scala but not as bad as what I read on forums online.

So far so good, but I’ve only just begun, so I shall not count my chickens just yet.

comments powered by Disqus