Objective: In minimum context

被引:10
作者
Abreu, S [1 ]
Diaz, D
机构
[1] Univ Evora, Evora, Portugal
[2] Univ Paris 01, F-75231 Paris 05, France
来源
LOGIC PROGRAMMING, PROCEEDINGS | 2003年 / 2916卷
关键词
D O I
10.1007/978-3-540-24599-5_10
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
The current proposals for the inclusion of modules in the ISO Prolog standard are not very consensual. Since a program-structuring feature is required for a production programming language, several alternatives have been explored over the years. In this article we recall and expand on the concepts of Contextual Logic Programming, a powerful and simple mechanism which addresses the general issue of modularity in Logic Programs. We claim that unit arguments are an essential addition to this programming model, illustrate the claim with examples and draw parallels with Object-Oriented programming. We argue that Contextual Logic Programming is an interesting and effective tool for the development of large-scale programs built upon the Contextual Logic Programming paradigm and argue that contexts with arguments actually provide a powerful, expressive and very convenient means of structuring large applications upon a Prolog basis. We substantiate our claims with examples taken mostly from a "real world" application, Universidade de Evora's Academic Information System, which is currently being developed using the prototype implementation described in this article. We sketch the most relevant aspects of a new implementation of Contextual Logic Programming, GNU Prolog/CX, focusing on the impact on performance of the features which were added to a regular Prolog system, highlighting the low overhead which is incurred in case these extensions are not used.
引用
收藏
页码:128 / 147
页数:20
相关论文
共 15 条
  • [1] ABREU S, 2001, P INAP 01 TOK JAP OC
  • [2] Abreu SP, 2000, LECT NOTES COMPUT SC, V1753, P141
  • [3] MODULARITY IN LOGIC PROGRAMMING
    BUGLIESI, M
    LAMMA, E
    MELLO, P
    [J]. JOURNAL OF LOGIC PROGRAMMING, 1994, 20 : 443 - 502
  • [4] BUGLIESI M, 1998, ACM COMPUT SURV, V30, P10
  • [5] BUGLIESI M, 1992, P JOINT INT C S LOGI, P113
  • [6] Cabeza D, 2000, LECT NOTES ARTIF INT, V1861, P131
  • [7] DENTI E, 1992, LECT NOTES ARTIF INT, V660, P339
  • [8] Diaz D, 2001, J FUNCTIONAL LOG OCT, V2001
  • [9] Hill P., 1994, GOEDEL PROGRAMMING L
  • [10] LAMMA E, 1989, P 6 INT C LOG PROGR, P303