MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  A novel implementation method of delay (1996) [9 citations — 7 self]

Download:
Download as a PDF | Download as a PS
by Neng-fa Zhou
In Proceedings of Joint International Conference and Symposium on Logic Programming
http://www.cad.mse.kyutech.ac.jp/people/zhou/papers/jicslp96_zhou.ps.gz
Add To MetaCart

Abstract:

The efficiency of delay depends to a large extent on the following four basic operations: delay, wakeup, interrupt, and resume. Traditional implementations of delay in the WAM are slow because three out of the four basic operations need to save or restore the argument registers. In this paper, we present a novel method for implementing delay in a Prolog machine called ATOAM. The main idea is to store delayed calls as frames, called suspension frames, on the control stack rather than as records on the heap. Since delayed calls, after being woken, can be executed directly by using their suspension frames, the four basic operations become very simple. This method had been predicated to cost a large amount of control stack space. However, with tail-recursion elimination, the control stack space requirement can be reduced dramatically. This method has been implemented in the B-Prolog system. For several benchmark programs where delay is used, the experimental results show that B-Prolog is significantly faster and sometimes consumes much less total space than SICStus, a WAM-based Prolog system. 1

Citations

408 Concurrent constraint programming – Saraswat - 1993
333 The integration of functions into logic programming: from theory to practice – Hanus - 1994
109 Equations and inequations on finite and infinite trees – Colmerauer - 1984
28 Negation and Control – Naish - 1986
16 Parameter Passing and Control Stack Management in Prolog Implementation Revisited – Zhou - 1996
14 Functions as Passive Constraints – At-Kaci, Podelski - 1991
11 QD-Janus: A Sequential Implementation of Janus – Debray - 1993
10 Quadtrees in concurrent prolog – Edelman, Shapiro - 1987
5 ESP reference manual – Chikayama - 1984
3 Implementing finite-domain constraint logic programming on top of a Prolog-system with delay-mechanism – Schreye, Pollet, et al. - 1990
3 Better Late Than Never, Implementations of Logic Programming Systems – Meier - 1994
2 A General Model to Implement DIF – Boizumault - 1986
1 F.: CS-prolog: a Generalized Unification-based Constraint Solver – Kawamura, Ohwada, et al. - 1939