Personal Log »

More Haskell in 2025

Looking at this blog’s archive on my Haskell posts, looks like I started learning Haskell two years ago. It doesn’t feel like it!

I streamed some sessions of game development with Haskell and I got to make a platform game with some reasonable functional code. I didn’t release a game because there wasn’t a game there, really; but despite that, I think I implemented enough pieces to be confident that I can finish a game in Haskell.

However, time flies when you are having fun, and my free time this year has gone mostly to The Heart of Salamanderland –released in May–, and my current project for DOS 16-bit “Alien Intruder” that should be ready in the next two weeks, if I manage to finish writing the music –seriously, it is hard to write decent enough tunes–.

And I haven’t written any more Haskell, despite revisiting the codebase a couple of times and missing writing Haskell. Why I miss it? I don’t know for sure, but besides being fun, I like how it makes me feel happy about writing code.

I don’t have much choice of languages when I’m making games for classic systems. If is a Z80 based machine, it is going to be assembler and C. If it is for DOS, it will be assembler and C. See the pattern?

For my tools I don’t think I’m going to stop using Python, because I am very productive with it. Being my tools, I don’t need to worry about packaging, distribution, or performance. So I started writing Python in 2010 and it still makes me happy in 2024, even if I’m not interested in using it everywhere like perhaps 10 years ago.

Then I write a lot of Scala professionally every day. Sometimes I even write it for fun, and I love it. But then, it runs on the JVM and I wanted something different, perhaps also functional like Scala, for my personal projects. Likely a compiled language that generates native binaries.

I put a significant amount of time in Go two years ago, and even dabbled a bit into Ebiten. I liked that after a while the language just disappeared, and what was left was the problem I was trying to solve. But I also found out that the language was very uninspiring, and some of Google’s practices put me off. So I moved on.

I refreshed my Javascript game a bit –but that wasn’t really what I was looking for–, I wrote some C with SDL2, and it was fun, but also too similar to what I’m doing when I’m making games for classic systems.

I even tried a Scheme, again, very inspired and motivated to like it. And it didn’t happen. Again. I’m just going to accept the fact that lisps aren’t for me and live a normal life.

But with Haskell was different. Writing the code made me happy. Evidently, it is a shame I didn’t have gameplay to support the code I wrote, but that is only my fault. “Alien Intruder” could be a PC game, and that would have been a nice project to write in Haskell. I know, like making a game is not challenge enough!

So that is one thing for next year: write more Haskell –hopefully with a PC game release!–.

Would you like to discuss the post? You can send me an email!