Free Online Productivity Tools
i2Speak
i2Symbol
i2OCR
iTex2Img
iWeb2Print
iWeb2Shot
i2Type
iPdf2Split
iPdf2Merge
i2Bopomofo
i2Arabic
i2Style
i2Image
i2PDF
iLatex2Rtf
Sci2ools

ICLP

1999

Springer

1999

Springer

A declarative programming language has two kinds of semantics. The tract helps in reasoning about speci cations and correctness, while an operational semantics determines the manner of program exeA correct program should reconcile its abstract meaning with its concrete interpretation. To help in this, we present a kind of algebraic semantics for logic programming. It lists only those laws that are equally valid for predicate calculus and for the standard depth- rst strategy of Prolog. An alternative strategy is breadth- rst search, which shares many of the same laws. Both strategies are shown to be special cases of the most general strategy, that for tree searching. The three strategies are de ned in the lazy functional language Haskell, so that each law can be proved by standard algebraic reasoning. The laws are an enrichment of the familiar categorical concept of a monad, and the links between such monads are explored.

Related Content

Added |
04 Aug 2010 |

Updated |
04 Aug 2010 |

Type |
Conference |

Year |
1999 |

Where |
ICLP |

Authors |
Silvija Seres, J. Michael Spivey, C. A. R. Hoare |

Comments (0)