Constraint satisfaction in logic programming
Constraint satisfaction in logic programming
How to solve it: modern heuristics
How to solve it: modern heuristics
Algorithmic Program DeBugging
Pruning Infinite Failure Branches in Programs with Occur-Check
LPAR '92 Proceedings of the International Conference on Logic Programming and Automated Reasoning
Localizing and Explaining Reasons for Non-terminating Logic Programs with Failure-Slices
PPDP '99 Proceedings of the International Conference PPDP'99 on Principles and Practice of Declarative Programming
Why the Occur-Check is Not a Problem
PLILP '92 Proceedings of the 4th International Symposium on Programming Language Implementation and Logic Programming
An Open-Ended Finite Domain Constraint Solver
PLILP '97 Proceedings of the9th International Symposium on Programming Languages: Implementations, Logics, and Programs: Including a Special Trach on Declarative Programming Languages in Education
Conventional and Uniqueness Typing in Graph Rewrite Systems
Proceedings of the 13th Conference on Foundations of Software Technology and Theoretical Computer Science
The Seven-Eleven Problem
A history of Haskell: being lazy with class
Proceedings of the third ACM SIGPLAN conference on History of programming languages
Hi-index | 0.01 |
In this paper we present several extensions to support a more declarative view of programming in Prolog. These extensions enable introductory Prolog courses to concentrate on the pure parts of Prolog for longer periods than without. Even quite complex programs can now be written free of any reference to the more problematic constructs. Our extensions include an alternate way to handle the occurs-check, efficient side-effect free I/O with DCGs, and a uniform approach to integer arithmetic that overcomes the disadvantages of arithmetical evaluation and finite domain constraints, but combines and amplifies their strengths. All extensions have been included recently into the SWI-Prolog distribution.