Effects and structure

"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…