Abstractions in Logic Programs
Abstractions in Logic Programs
复制标题
逻辑程序中的抽象
DOI:
--
复制
发表时间:
1989
期刊:
影响因子:
--
通讯作者:
D. Miller
中科院分区:
文献类型:
--
作者:
D. Miller
ions in Logic Programs Dale Miller University of Pennsylvania Follow this and additional works at: http://repository.upenn.edu/cis_reports University of Pennsylvania Department of Computer and Information Science Technical Report No. MS-CIS-89-30. This paper is posted at ScholarlyCommons. http://repository.upenn.edu/cis_reports/702 For more information, please contact repository@pobox.upenn.edu. Recommended Citation Miller, Dale, "Abstractions in Logic Programs" (1989). Technical Reports (CIS). Paper 702. http://repository.upenn.edu/cis_reports/702 Abstractions in Logic Programsions in Logic Programs Abstract Most logic programming languages have the first-order, classical theory of Horn clauses as their logical foundation. Purely proof-theoretical considerations show that Horn clauses are not rich enough to naturally provide the abstraction mechanisms that are common in most modern, general purpose programming languages. For example, Horn clauses do not incorporate the important software abstraction mechanisms of modules, data type abstractions, and higher-order programming.Most logic programming languages have the first-order, classical theory of Horn clauses as their logical foundation. Purely proof-theoretical considerations show that Horn clauses are not rich enough to naturally provide the abstraction mechanisms that are common in most modern, general purpose programming languages. For example, Horn clauses do not incorporate the important software abstraction mechanisms of modules, data type abstractions, and higher-order programming. As a result of this lack, implementers of logic programming languages based on Horn clauses generally add several nonlogical primitives on top of Horn clauses to provide these missing abstraction mechanisms. Although the missing features are often captured in this fashion, formal semantics of the resulting languages are often lacking or are very complex. Another approach to providing these missing features is to enrich the underlying logical foundation of logic programming. This latter approach to providing logic programs with these missing abstraction mechanisms is taken in this paper. The enrichments we will consider have simple and direct operational and proof theoretical semantics. Comments University of Pennsylvania Department of Computer and Information Science Technical Report No. MSCIS-89-30. This technical report is available at ScholarlyCommons: http://repository.upenn.edu/cis_reports/702 Abstractions In Logic Programsions In Logic Programs MS-CIS-89-30 LINC LAB 152