Programming is about composition. We usually tackle a problem by breaking it up into smaller and more manageable tasks, which are then composed together into the final solution. Types can play an important role in assisting us. Algebraic Data Types bring us yet another interesting way to express concepts in...
[Read More]
absent is a tiny open-source C++ library meant to simplify the composition of nullable types in a generic, type-safe, and declarative style.
[Read More]
Declarative Programming encourages us writing programs by composing expressions rather than statements as we usually do in Imperative Programming. Let’s briefly see how we can from this style of programming.
[Read More]
It’s been common to find talks and articles describing what an Algebraic Data Types (ADT) is. Particularly, we’ve been testifying sum types finally making their way into mainstream programming languages. We shall briefly discuss ADTs and understand how we can profit from this cool trend.
[Read More]
A piece of advice that may help when porting a build system based on CMake to use a modular approach following the so-called Modern CMake set of practices.
[Read More]
Automation is not only a fancy trend but rather a reality that plays a vital role in the Software Engineering world. Besides the multitude of “modern” tools, the Shell, our good and old friend from ’70s, still plays and will keep playing a major role. Therefore, it deserves more care....
[Read More]
STL is a fantastic tool that C++ provides us and using makes our code more expressiveness, cleaner, and correct. However, STL algorithms may sometimes involve a bit of boilerplate, especially when it comes to function composition, where we want to chain a sequence of operations. Fortunately, the Ranges library is...
[Read More]
NULL, nullptr, null, etc. have been used to represent the absence of values for many years, but there are better alternatives to model this scenario. In Scala, the answer is usually Option.
[Read More]
Have you ever wasted time looking at your repositories because of commits that didn’t add any value to the project’s story? Some of the most common start with “fix-up…”. By avoiding these commits, the repository tends to become easier to understand, as we can then focus on the bigger story...
[Read More]
For STL associative containers, the type of keys stored must be comparable. Although in some cases you might want to supply an alternative comparison function.
[Read More]