It's no secret that I'm writing an email server. Well, the email protocol has a not-small set of unique behaviors that require some work to handle. One of those behaviors lead to the creation of the Haskell's interruptible library. This article is to explain why I created ...
All articles
Monads, why should I care? - Part II
This is the second and last part of my articles that try to answer the "Why the hell should I care about monads?" question. Part I is about using monads to make your code cleaner, and this part will be about how monads make immutability and purity viable.
But before ...
Monads, why should I care? - Part III
This is the third and final part of my set of articles that tries to answer the "Why the hell should I care about monads?" question. Part I is about using monads to make your code cleaner, Part II is about using monads to mark pure code and viabilize immutable ...
Monads, why should I care? - Part I
There are so many monad tutorials in the web that it's common to repeat the rule that you do not write another one. This is a rule I'm now breaking. Despite the many tutorials around, most of them try to explain what monads are, and how they work ...
An Year of Haskell
It's been more than a year that I started working on Walrus, Sealgram's email server. For performance reasons, I decided to write it in Haskell, a language that's unusual in many ways. Overall, that was a great choice, in ways that I couldn't even begin to ...
Yep, I'm rewriting email
It's 2015. Universal surveillance is on the news for years already, and each day people discovers yet another country that spies on every person they can get to, steals secrets for their local corporations, and shares all that data with every other country. Once or twice a year we ...