The Handbook of Programming Languages (HPL): Functional, Concurrent and Logic Programming Languages