Christian Gill

ZuricHac 2020


Last weekend I participated in ZuricHac. It was an awesome event. Well organized πŸ‘πŸ™‡ and full of interesting people!

ZuriHac is the biggest Haskell Hackathon in the world: a completely free, three-day grassroots coding festival organized by ZΓΌrich Friends of Haskell. It features fantastic keynotes, interesting tracks, and of course lots of hacking and socializing!

This year, due to Corona 🦠😷 the event took place online. Everything revolved around a Discord server. There were channels for particular projects people were hacking on, channels for the different tracks (beginner, intermediate and expert) and common channels to discuss the talks, hang out and share pictures of coffee β˜•

Here's a small recap of the things I did and learned.



  • Lazy evaluation / lazy IO one of Haskell main features. As much as it enables some good stuff it can also cause some problems. When reading files (readFile :: String -> IO String), the files are open but not read until the evaluation is forced which might result in too many open files issues. Since files are closed as soon as the content is read the solution is to force the evaluation. πŸ€•
  • Effect systems are all about abstraction of effects and being able to represent those effects in different ways.
  • Effect systems have performance penalties due to polymorphism.
  • The compiler (GHC) does a mind-blowing job optimizing code. 🀯
  • To there's some much the compiler can do. So is up to the developers to find ways to produce more optimized code.
  • Is important to know how and why the compiler optimizes (or not) certain code.
  • TypeScript is harder than Haskell. Being able to type JavaScript programs makes for a very complex type system.
  • Formal proof languages like Agda are less scary than they seem! πŸ€“

And a huge thanks to the organizers and everyone who made the event possible!

I look forward to participate next year in person.