Daniel is a somewhat functional developer who's convinced that the best way to learn something is to teach it.
One might think that the bleak, anti-utopian reality of Orwell's 1984 would be a poor choice for a source of constructive ideas about programming. But it so happens, that the three main slogans of the book: "War is Peace", "Freedom is Slavery" and "Ignorance is Strength" map very neatly into good practices for programming in general and functional programming in particular.
In this talk, we will delve into this connection and see how we can leverage the spirit of the slogans to arrive at well known techniques from the world of strongly-typed functional programming. Driven by concrete code examples we will see how to battle effects, choose the right abstractions for the task at hand and use parametricity to guide us to the correct implementation.
The code examples will be given in Scala, but should be broadly applicable and accessible to anyone with intermediate experience in (typed) functional programming.
Slides