Skip to main content

Sleepers: a versatile high-level control mechanism

  • Conference paper
  • First Online:
Book cover Programming Language Implementation and Logic Programming (PLILP 1994)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 844))

Abstract

Sleepers, a high-level control mechanism, have already been embedded in different programming languages — Pascal, C, Common Lisp. In this paper we discuss their employment in a logic programming framework. Sleepers are computational entities enabling to use an enriched communication strategy among the living predicates of a Prolog computation, i.e. those present in the run-time stack. These sleepers provide a high-level access to the history of the computation. Simple operational semantics of our sleeper-extension of Prolog is given. Two illustrations of the power of this control mechanism are presented: the implementation of Contextual Logic Programming and the meta-programming of Finite Domains constraints.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. V. Loia and M. Quaggetto. High level management of computation history for the design and implementation of a Prolog system. Sofware-Practice and Experiences, Vol. 23, Num. 2, pp. 119–150, 1993.

    Google Scholar 

  2. V. A. Saraswat. Concurrent Constraint Programming, MIT Press, 1993.

    Google Scholar 

  3. L. Monteiro and A. Porto. Contextual Logic Programming. In 6th International Conference on Logic Programming, pp. 284–299, 1989. newblock MIT Press, 1989.

    Google Scholar 

  4. P. Van Hentenryck. Constraint Satisfaction in Logic Programming, MIT Press, 1989.

    Google Scholar 

  5. P.J. Cortois. On the time and space decomposition of complex structures. Communications of the ACM, vol. 2, Num. 6, pp. 590–603, June 1985.

    Google Scholar 

  6. P. Maes. Computational Reflexion. TR-87-2, V.U.B. AI-LAB, 1987.

    Google Scholar 

  7. D.H.D. Warren. An Abstract Prolog Instruction Set. Technical Report 309, SRI International, 1983.

    Google Scholar 

  8. R. O'Keefe. Towards an Algebra for Constructing Logic Programs. 1985 Symposium on Logic Programming, IEEE Computer Society Press

    Google Scholar 

  9. D. Miller. A theory of modules for logic programming. In 1986 International Symposium on Logic Programming, pp. 106–114, 1986.

    Google Scholar 

  10. E. Lamma, P. Melllo, and G. Rossi. Parametric Composable Modules in a Logic programming language. Computer Languages, Vol. 18, Num. 2, pp. 105–123, 1993.

    Google Scholar 

  11. J. Jaffar and J.L. Lassez. Constraint Logic Programming. In Principles Of Programming Languages, Munich, 1987.

    Google Scholar 

  12. A. Colmerauer. An introduction to Prolog-III. Communications of the ACM, 33 (7), July 1990.

    Google Scholar 

  13. A. K. Macworth. Consistency in Networks of Relations. Artificial Intelligence, 8 (1977).

    Google Scholar 

  14. P. Van Hentenryck, V. Saraswat and Y. Deville. Constraint processing in cc(FD). Draft, 1991.

    Google Scholar 

  15. D. Diaz and P. Codognet. A minimal extension of the WAM for clp(fd). In International Conference on Logic Programming, Budapest, 1993

    Google Scholar 

  16. M. Carlsson. Freeze, indexing and other issues on the WAM. In 4th International Conference on Logic Programming, Melbourne, Australia, MIT Press 1987.

    Google Scholar 

  17. P. Codognet, F. Fages and T. Sola. A metalevel compiler of CLP(FD) and its combination with IB. In Constraint Logic Programming: Selected Research, F. Benhamou and A. Colmerauer (Eds.), MIT Press 1993.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Manuel Hermenegildo Jaan Penjam

Rights and permissions

Reprints and permissions

Copyright information

© 1994 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Codognet, C., Codognet, P., Loia, V., Quaggetto, M. (1994). Sleepers: a versatile high-level control mechanism. In: Hermenegildo, M., Penjam, J. (eds) Programming Language Implementation and Logic Programming. PLILP 1994. Lecture Notes in Computer Science, vol 844. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-58402-1_22

Download citation

  • DOI: https://doi.org/10.1007/3-540-58402-1_22

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-58402-5

  • Online ISBN: 978-3-540-48695-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics