My fairly incomplete view on programming

Some time ago I had an argument about the notion of behavior and the definitions of referential transparency and purity in functional programming. Due to my incomplete knowledge I could not back my arguments and, therefore, decided to do some research. This post is a write up of my research and primarily serves me as a source. Nonetheless, I welcome you to comment and correct my result.
More...

Refactoring towards a transaction monad

In my last article, I discussed the idea of using higher-order functions to enable code reuse and as a means of describing effects. With higher-order functions, transactions can first be described and then executed. Though, the composition of transactional functions remained as duplicated code in each CRUD method. More subtle, a function does not convey the information whether a transaction is executed during application. This article presents a monadic transaction as a solution to both problems.
More...

Higher Order Functions are useful

In March I gave my first talk at a conference. It was about the combinator pattern and I wondered why there was only little feedback in regard of the pattern itself. The only question I got was surprisingly about monads. This kept me wondering and a little idea came to my mind: higher-order functions are useful. This article is the result of this thought, where I am going to show how to use higher-order functions for code reuse and as a means of describing effects.
More...

Six Ways to functional FizzBuzz with Vavr

Sometime last year I stumbled over the excellent post of twenty ways to do FizzBuzz in JavaScript. I asked myself, how some functional solutions in Java 8 and vavr could look. In this article I present 6 different solutions using functional data structures, higher order functions and property checking. All these solutions adhere to the test harness I introduced in my last article.
More...

Your little dose of octocat zen

Last year at Socrates Matthias gave a little introduction how GitHub makes GitHub. A little collection of 14 statements, called zen, capture the core values and principles. This zen is available through the public API.
More...