1
New Generation Computing, 3 (1985) 229 OHMSHA, LTD. and Springer-Verlag Book Review "Foundations of Logic Programming" by J. W. Lloyd. Published by Springer-Verlag, 1984. (~) OHMSHA, LTD. 1985 M. H. van EMDEN Department of Computer Science, University of Waterloo, Canada Lloyd deserves the gratitude of the logic programming community for having written an introduction to the theory of logic programming which is timely, useful, and of high quality. The monograph is timely because it could not have appeared earlier: the recent contributions of the Melbourne group, of which Lloyd is a prominent member, were required to achieve'a critical mass of results necessary for a monograph such as this. It should not have appeared later because it became increasingly unsatisfactory to have to gather the required material from scattered, partially overlapping papers which often used different notational conventions, it is especially satisfactory to have at least some of the results of K. L. Clark's unpublished 1979 thesis readily accessible. The monograph is useful because it is self-contained to a high degree and because many of its proofs are simpler than the ones published in the primary sources. Another pleasing property is that the material seems to have natural boundaries: it arranges itself naturally around the concept of fixpoint of the transformation T associated with a logic program. It is this concept that, pervading the entire mono- graph, seems to give the subject its homogeneity. In the future, when more work has been done on the theory of logic programming, it will probably be considered more appropriate to name Lloyd's monograph: "An Introduction to Fixpoint Methods in Logic Programming". The monograph is of high quality: it is a model of conciseness ; yet clarity does not suffer. The idea/ would be for such a monograph to contain everything published in the area up to the moment of its appearance. This ideal is impossible to achieve, yet Lloyd comes quite close. The few quibbles one might have, are connected precisely to not quite achieving this ideal. For example, Nait Abdallah has discovered in- dependently the topological methods of chapter 4. It is a pity that there was apparent- ly no time to incorporate this work (ICALP 84, Springer Lecture Notes in Computer Science 172) into the monograph. Also, Lloyd denounces unification without the "occur check" as endangering soundness of SLD-resolution. Lloyd's own work (Journal of Logic Programming, 1(1984), pp 143-149),published since the completion of the monograph, suggests that the lack of the "occur check" can be justified not only for reasons of performance, but for semantical reasons also. Because of the appearance of this book, there never was in the past, and there may never be in the future, a time as good as the present to embark on a study of the theory of logic programming. In the past it was harder because the literature was much less accessible. In the future there will again be more hard-to-get relevant papers in the area. Only now are we fortunate enough to be a well-equipped researcher with just one handy, well-written volume.

“Foundations of logic programming” by J. W. Lloyd

Embed Size (px)

Citation preview

Page 1: “Foundations of logic programming” by J. W. Lloyd

New Generation Computing, 3 (1985) 229 OHMSHA, LTD. and Springer-Verlag

Book Review

"Foundations of Logic Programming" by J. W. Lloyd. Published by Springer-Verlag, 1984.

(~) OHMSHA, LTD. 1985

M. H. van E M D E N Department of Computer Science, University of Waterloo, Canada

Lloyd deserves the gratitude of the logic programming community for having written an introduction to the theory of logic programming which is timely, useful, and of high quality.

The monograph is timely because it could not have appeared earlier: the recent contributions of the Melbourne group, of which Lloyd is a prominent member, were required to achieve 'a critical mass of results necessary for a monograph such as this. It should not have appeared later because it became increasingly unsatisfactory to have to gather the required material from scattered, partially overlapping papers which often used different notational conventions, it is especially satisfactory to have at least some of the results of K. L. Clark's unpublished 1979 thesis readily accessible.

The monograph is useful because it is self-contained to a high degree and because many of its proofs are simpler than the ones published in the primary sources. Another pleasing property is that the material seems to have natural boundaries: it arranges itself naturally around the concept of fixpoint of the transformation T associated with a logic program. It is this concept that, pervading the entire mono- graph, seems to give the subject its homogeneity. In the future, when more work has been done on the theory of logic programming, it will probably be considered more appropriate to name Lloyd's monograph: "An Introduction to Fixpoint Methods in Logic Programming".

The monograph is of high quality: it is a model of conciseness ; yet clarity does not suffer. The idea/ would be for such a monograph to contain everything published in the area up to the moment of its appearance. This ideal is impossible to achieve, yet Lloyd comes quite close. The few quibbles one might have, are connected precisely to not quite achieving this ideal. For example, Nait Abdallah has discovered in- dependently the topological methods of chapter 4. It is a pity that there was apparent- ly no time to incorporate this work ( ICALP 84, Springer Lecture Notes in Computer Science 172) into the monograph. Also, Lloyd denounces unification without the "occur check" as endangering soundness of SLD-resolution. Lloyd's own work (Journal of Logic Programming, 1(1984), pp 143-149),published since the completion of the monograph, suggests that the lack of the "occur check" can be justified not only for reasons of performance, but for semantical reasons also.

Because of the appearance of this book, there never was in the past, and there may never be in the future, a time as good as the present to embark on a study of the theory of logic programming. In the past it was harder because the literature was much less accessible. In the future there will again be more hard-to-get relevant papers in the area. Only now are we fortunate enough to be a well-equipped researcher with just one handy, well-written volume.