Functional and logic programming languages (Handbook of programming languages, 1998)