Month: May 2025

  • Reading special keys as input

    Years ago when I was learning Haskell I had asked a user in #haskell-beginners what would be some good projects or perhaps a good path to getting more involved in open source projects. I must preface this was before the age of AI taking over. A user responded to update his game called TwosGame (original repository here) he made to showcase transformers, lens and machines packages.

    So why now posting the update? When I first began my journey learning Haskell I I struggled with basic enhancements like updating a project to usearrow keys let alone more complicated libraries such as machines and lenses. The machines package allows us to compose a nice monadic stream processing pipeline. Now, having gained considerable more experience I am revisiting this project to do a small write up on the changes I had made. You can open up this commit and see what changes were made while we go through them.

    (more…)
  • The Haskell Mindset

    Introduction

    We all have our deeply rooted beliefs and programming paradigms we’re passionate about both for rational reasons and pure enjoyment. Functional programming often appears intimidating shrouded deeply in academic terminology and abstract concepts.

    But what if I told you that understanding functional programming doesn’t have to be a daunting journey? What if the reasoning behind it is not only accessible but might actually transform how you think about code?

    Most individuals have come from the imperative mindset of programming and because of this your minds computational model needs to learn some new concepts. You will read and sometimes hear from individuals that you need to “unlearn” some things from this imperative mindset, but I say we don’t need to unlearn it but we need to expand our comprehension into new ideas and concepts.

    (more…)