Skip to content
Free planNo credit card requiredStart writing

book chapter · 2013

■ Logic Programming Paradigm

Cited by 8Abstract and details only

Abstract

To help make logic programming more suitable for writing large systems, we develop linguistic mechanisms that permit the organization of logic programs around abstractions.In particular, we present the design of Denali, an equational logic programming language that supports predicate and data abstraction.The key issue in introducing predicate abstraction is dealing with the di erence between the declarative and procedural interpretations of logic programs.We address this issue by i n troducing a two-dimensional type system to describe predicate interfaces.The two components are a sort system and a novel multi-valued mode system.Multi-valued modes constrain the ways in which arguments to predicates may be instantiated.A collection of such modes is de ned by the programmer for each sort.The key issue in introducing data abstraction is providing ways to obtain equational uni cation procedures.We develop a pragmatic approach that relies upon the programmer to implement these procedures.We facilitate this by supporting a variety o f techniques that simplify the problem.Among these techniques are treating uni cation on a sort-by-sort basis, layering implementations so as to exploit built-in uni cation procedures, and using the mode system to constrain the uni cation problem.Finally, w e establish the basis for implementing Denali by developing procedures for performing moded equational resolution and for combining moded equational uni cation procedures.

Cite this paper

APA 7

(2013). ■ Logic Programming Paradigm. https://doi.org/10.1201/b16258-17

MLA 9

“■ Logic Programming Paradigm.” 2013, pp. 402–39, https://doi.org/10.1201/b16258-17.

Chicago

2013. “■ Logic Programming Paradigm.” https://doi.org/10.1201/b16258-17.

Harvard

(2013) ‘■ Logic Programming Paradigm’. Available at: https://doi.org/10.1201/b16258-17.

BibTeX
@incollection{anon2013logic,
  title = {{■ Logic Programming Paradigm}},
  pages = {402--439},
  year = {2013},
  doi = {10.1201/b16258-17}
}

Made from the index record. Check names, capitalisation and page numbers against the paper. Need another style? AI for Research has over 10,000.