Programming Erlang : software for a concurrent world - Armstrong, Joe (The pragmatic programmers, 2007)