functional and logic programming