Compositional logic programming. - Richard McPhee (2000)