Functional and Logic Programming - Oleg Kiselyov, Andy King (Springer, 2016)