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...

Property Based Testing with Javaslang

Usual unit testing is based on examples: We define the input for our unit and check for an expected output. Thus, we can ensure that for a specific sample our code works right. However, this does not prove the correctness for all possible inputs. Property based testing, also called property checking, takes another approach by adhering to the scientific theory of Falsifiability: As long as there is no evidence that a proposed property of our code is false, it is assumed to be true. In this article we are using Javaslang’s API for property based testing to verify a simple FizzBuzz implementation.
More...

Combinator Pattern with Java 8

The Combinator Pattern is well-known in functional programming. The idea is to combine primitives into more complex structures. At my last talk at the majug I presented a way of how to employ this pattern with Java 8. In this post we will have a look at this design.
More...