Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Declarative logic programming : theory, systems, and applications
Kifer M., Liu Y. Association for Computing Machinery and Morgan & Claypool, New York, NY,2018.Type:Divisible Book
Date Reviewed: Jun 26 2019

What is declarative logic programming and why is it relevant? These are just two of the many questions answered in Declarative logic programming, edited by Michael Kifer and Yanhong Annie Liu. The compiled chapters aim to fill in any gaps in the current literature related to declarative logic programming, specifically with respect to advances in research and the implementation of systems and domains to which it can be applied. It should also be noted that the chapters have more to do with how a logic programming system is implemented than how to develop logic programs.

Declarative logic programming is a computer programming paradigm that uses rules and facts to define the behavior of a program. The control of the program is defined by how an inference engine processes the rules and facts to find the solution to queries being made of the program. In this way, the programmer is not concerned with how the system is solving the problem, only with whether the program is able to produce correct results. Prolog is probably the most well-known logic programming language, but because of certain limitations in how it resolves queries, the chapters are concerned with Datalog, a subset of Prolog that implements a more pure form of logic programming.

The chapters are grouped into three sections, as indicated by the subtitle. The first part, “Theory,” includes a history of the emergence of Datalog and how it is becoming relevant again. Furthermore, a discussion of the stable model and well-founded semantics introduces the proofs of why these methods work to solve the evaluation problems that arise when introducing negation into a logic program.

The second part, “Systems,” presents information about how an inference engine might be implemented. For example, the Warren abstract model (WAM), which is used to define the implementation of a Prolog engine, can be used to generate the engine for a Datalog system. It also provides discussions about extending Datalog as a modeling language.

The third part, “Applications,” showcases domains where the use of Datalog is relevant, for example, bioinformatics, state space search, and natural language processing. Each chapter in this section provides a background of its domain and how logic programming can be used to solve its problems. If you are not familiar with Datalog programs, you might be amazed by the source code listings included in these chapters. The final chapter in this section discusses other ways in which Datalog may be applied.

As mentioned previously, the book’s main purpose is to fill in gaps in the literature related to Datalog and declarative logic programming. As such, it should be considered a reference for researchers, practitioners, and graduate students. It will be of particular interest to anyone interested in implementing a logic programming inference engine.

Reviewer:  Julia Yousefi Review #: CR146609 (1909-0324)
Bookmark and Share
 
Logic Programming (D.1.6 )
 
Would you recommend this review?
yes
no
Other reviews under "Logic Programming": Date
Parallel logic programming
Tick E. (ed), MIT Press, Cambridge, MA, 1991. Type: Book (9780262200875)
Aug 1 1992
The standard C library
Plauger P., Prentice-Hall, Inc., Upper Saddle River, NJ, 1992. Type: Book (9780131315082)
Aug 1 1992
Logic and objects
McCabe F., Prentice-Hall, Inc., Upper Saddle River, NJ, 1992. Type: Book (9780135360798)
Nov 1 1993
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy