My fondness for alternative Haskells It’s often said that the best way to learn a programming language (or programming in general) is to make things that you actively use. After I first learnt Haskell, I thought it natural to try and make something I’ll use in my day-to-day life. An idea of what to make almost immediately sprang up in my head. Because I spent most of my college years travelling with the university’s debate team, I thought it would be cool to make a simple countdown timer with large bold text and changing colours that I’d use to time my speeches. At that time (around 2015), it was incredibly difficult to write Haskell GUI applications, let alone mobile applications. The few examples that existed online were scant, “hello world” applications that didn’t seem like they could do much. I stumbled across Frege (a dialect of Haskell for the JVM) and was warmly welcomed by the language’s small community. With the help of the two primary maintainers, Ingo and Dierk, I wrote my first large project in a functional programming language: froid - a library for using the Frege programming language in Android development. I had many ideas of the directions I wanted to take the library - most of which were all the rage at the time: STM, functional reactive programming, etc. But using anything in the Haskell ecosystem was difficult because most libraries were extremely GHC-specific. Eventually, Frege’s community fizzled out as the maintainers got busy and the general mid-2010s fervour around functional programming faded. All the other Haskell implementations lost traction slowly after (GHCJS and Eta). But I still wish that there were a wider Haskell ecosystem that focused on use cases that GHC can’t address. I still wish that people would write code that other Haskells could co-opt with little to no friction. The release of MicroHs was a strong reminder of that time. A new Haskell with much smaller binaries that came at a time when people were showing concern about t...
First seen: 2025-09-11 05:14
Last seen: 2025-09-11 09:14