Day 11: The fourth week already?!?!

It’s so weird that it is already my fourth week at HolidayCheck. Time is flying (I just realized that I have probably said this at the beginning of every week of my (adultish) life).

Today, I worked through more of the Haskell Programming book. I went over pattern matching, case examples, and higher order functions. Though the book does a good job explaining the why’s and how’s, functional programming still feels quite unintuitive to me. One thing that is hard for me to conceptualize (and I tend to overthink) is function types. An example given in the book is:

returnAfterApply :: (a -> b) -> a -> c -> b
returnAfterApply f a c = f a

At first, only looking at the function type, I’m thinking: Ok, returnAfterApply takes a function and returns a function that takes a function and returns something of type b??? 😅

But then I look at the function definitions and I think: Ohhhh, so it takes three parameters: 1. a function f that takes some thing of type a and returns something of type b, 2. something of type a, and 3. something of type c. Then it applies the function f to a and returns whatever is returned by f (something of type b).

Then all is good again in my brain. But still, I’m prepared for more unintuition.

Other things I did today include reading the Software Crafter book, doing part of a bash tutorial (which I really enjoy, thanks Masha!), and cloning the repo for Ugurcan’s heartbeat project. I plan to make more progress on all of these things tomorrow as well. I feel like I have plenty to do, without feeling spread too thin. It’s a good place to be 😎. But will it always be this good????

Last updated: