Learn You a Haskell Challenge - Day 1 / 300

@rickcursive.bsky.social

Today was a big day. Not only did I set up my entire streaming setup with Streamplace and multistream to my brand new Twitch channel, I also started my almost one-year challenge to learn Haskell.

Feel free to watch the replay on YouTube here.

It's my final boss in programming languages. I've had probably already like 4 failed attempts of learning it, that's why I've decided to do it publicly this time. So feel free to follow along with me, but whether I'll be doing it alone or with your support, I will stick to it this time. There are so many reasons for me to learn it, but the most important is: I want to have fun again while programming. I want to work on new side-projects again. And most importantly, I want to finish them. And that simply doesn't work if I just do the same things as I am already doing all day long at work.

Today we started reading through the famous "Learn You a Haskell for Great Good" book. It reads amazingly. Shoutout to the authors here for providing this genuine and authentic introduction into this language.

My Setup

To make things not easy, but even more complicated for me I've decided to setup a fresh linux operating system that I can use for live streaming this challenge. I chose the bazzite distro, because from time to time I also enjoy to play a game or two. Bazzite builds on Fedora's atomic architecture, which means the operating system parts are read-only. We will have to install many tools via distroboxes or AppImages if available.

Bazzite comes with Wayland by default, which caused me some problems in combination with OBS, because of waylands strong privacy focus I can't have a reproducible setup with automatic scene switching.

So I decided to install X11 too, then before logging in into my Plasma session I can choose whatever X server I need right now. The OBS setup with X11 was pretty smooth and didn't feel much different from Windows or MacOS.

I will not stream my whole desktop, only my browser and terminal using automatic scene switching to whatever I have currently focused.

Sidequest

As I didn't feel like reading out loud everything today I was looking for a screen reader for Firefox and couldn't find an easy one to install or setup. It felt like just having a Chrome would resolve most of my problems immediately, but I am here for learning new things so I will stick with it for now. I still don't have a good screen reader after the one hour session today.

Haskell Learnings

I read through the introduction today and really loved how the book is written. The style is informal and funny. Easy to understand and great examples. I can relate to many pain points pointed out there and it kept me motivating going through that whole section at once.

Especially interesting was to (re-)learn about the laziness of the language and that the language is probably even lazier than me. A really cool feature with great examples. And we even tried it out with Kuviman's viewers who came and raided me on Twitch. Shoutout to you guys at this point, you were really great. Big help just hanging around and making it hard for me to focus on my mission <3

I do dislike the way of installing GHCup though. Piping into my shell doesn't feel right at all. We spun up a distrobox and polluted that poor thing with whatever they wanted us to put in that box.

What still confuses me after Day 1::

  • Variables can be reassigned in ghci
  • What is cabal and what is stack
  • Is there a better way to install Haskell?

Thank you so much for following me along this journey!

Take care!

Rick.

rickcursive.bsky.social
Rick

@rickcursive.bsky.social

Notes, poems, and thoughts for my future self.

Personal Blog: https://whtwnd.com/rickcursive.bsky.social

Post reaction in Bluesky

*To be shown as a reaction, include article link in the post or add link card

Reactions from everyone (0)