"An effect is the structural information of a Functor, i.e., the part that is not parametric. The state value in State, failure in Maybe and Either, the number of elements in [], and – of course – arbitrary external side effects in IO." (C. A. McCann)…

# Mathematicians vs. Computer scientists

"There is a considerable difference between a mathematician’s view of the world and a computer scientist’s. To a mathematician all structures are static: they have always been and will always be; the only time dependence is that we just have not discovered them all yet. The computer scientist…

# Category of C++ Types

In the first installment of "Category theory for programmers", Bartosz Milewski introduces a particular category in which objects and morphisms are thought as C++ values and C++ functions, respectively. Instead, let us try to delineate the category in which objects are C++ types. In such a category, morphisms are metafunctions…

# The essence of linear algebra

This series of video-lectures aims at conveying the essential geometrical intuitions behind the most important linear algebra artifacts.…

# Domain knowledge

"Knowledge that is purely domain specific should never be leaked out into clients. Even if the client is an Application Service." (V. Vernon)…

# >> on strings

>> will never put whitespaces into a string. Indeed, the basic algorithm for >> of a string is as follows: skip whitespace read and extract up to but not including the next whitespace If you use noskipws, then the first step is skipped. Thus, with noskipws and an…