Functional And Logic Programming