Functional purity vs physical time

This post is a philosophical rambling, and has to do with the way I define and ultimately think about functional programming. Many of my peers who are extremely adept (certainly more adept than me) at FP, have found this to be an interesting definition, so I’m writing it down. ...

keep reading >

The Problem with Scala's Error Handling & How Ceylon's Union Types Help

Even though Scala has built-in support for the old-school try & catch blocks, the current idiomatic approach to error handling in the scala world (& many other languages) is to represent “failability” of operations within the language’s strong type system. ...

keep reading >

Introducing the given keyword for specs2

Allow me to introduce the given keyword / function, written for use with specs2. It allows you to turn code like this: ...

keep reading >

Streams are not a good replacement for futures

Streams (a.k.a. observables) are a generalization of futures and can do all the things that futures do and more. In fact, many stream libraries will claim that they are a replacement for futures. Unfortunately, this sometimes leads to people completely dumping futures from their code base in favor of streams. ...

keep reading >