Evaluating code at compile time is a capability that most, if not all, compiled programming languages possess, even if it can't be directly used by the programmer, but rather applied as an optimization. In this post, we'll explore a bit how to execute code at compile time in Nim, Zig, Rust and C++.
Last december I decided to take part in the Advent of Code. Of course, just programming my way through the AOC wouldn't be as much fun as doing it in a shiny new language. This time I decided to give Haskell a try. I had been doing functional programming in Rust and Javascript for some time and I thought it would be a great moment to finally try the hard stuff. I was eager to use a pure functional language, so the 1st of December I downloaded the Glasgow Haskell Compiler (GHC for friends) and started my completely functional adventure.
This year I took part in the GSoC program. I'm so happy with how it turned out and the experience as a whole. If you want to know about it, keep reading!