Skip to main content

A glimpse of paradise

  • Another Look At Data
  • Conference paper
  • First Online:

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

Abstract

Having understood that most attractive programming paradigms introduced recently in declarative symbolic programming languages need not be provided at the detriment of one another, we also believe that they can and should coexist with the more conventional state-effecting style of explicit control and data processing of imperative programming. To this end, we language designers must provide three primeval abstractions which could allow retrieving of most particular programming styles as particular instances, with the additional freedom of manipulating these abstractions explicitly. In the next decade, computer programming should allow specifying (1) abstract data structures, (2) abstract control structures, and (3) abstract constraint structures.

With these basic ideas in mind, we shall propose and sketch a specific design for a language and lay out some explicit requirements. Doing so, we shall try to compare this attempt to the state of the art.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Hassan Aït-Kaci. An overview of LIFE. Research paper, Digital Equipment Corporation, Paris Research Laboratory, Rueil-Malmaison, France, 1990.

    Google Scholar 

  2. Hassan Aït-Kaci. Warren's Abstract Machine, A Tutorial Reconstruction. Series on Logic Programming. MIT Press, Cambridge, MA, USA, 1991.

    Google Scholar 

  3. Hassan Aït-Kaci and Richard Meyer. Wild_LIFE, a user manual. PRL Technical Note 1, Digital Equipment Corporation, Paris Research Laboratory, Rueil-Malmaison, France, 1990.

    Google Scholar 

  4. Hassan Aït-Kaci and Roger Nasr. LOGIN: A logic programming language with built-in inheritance. Journal of Logic Programming, 3:185–215, 1986.

    Google Scholar 

  5. Hassan Aït-Kaci and Roger Nasr. Integrating logic and functional programming. Lisp and Symbolic Computation, 2:51–89, 1989.

    Google Scholar 

  6. Hassan Aït-Kaci and Andreas Podelski. Is there a meaning to LIFE? Research paper, Digital Equipment Corporation, Paris Research Laboratory, Rueil-Malmaison, France, 1990.

    Google Scholar 

  7. Hassan Aït-Kaci and Andreas Podelski. Functions as passive constraints in LIFE. Research paper, Digital Equipment Corporation, Paris Research Laboratory, Rueil-Malmaison, France, 1991.

    Google Scholar 

  8. Alan Borning, Robert Duisberg, Bjorn Freeman-Benson, Axel Kramer, and Michael Woolf. Constraint hierarchies. In Proceedings of the Conference on Object-Oriented Systems Languages and Applications, pages 48–60, 1987.

    Google Scholar 

  9. Alan Borning. The programming language aspects of Thinglab. ACM Transactions on Programming Languages and Systems, 3(4):353–387, October 1981.

    Google Scholar 

  10. Peter Canning, William Cook, Walter Hill, and Walter Olthoff. Interfaces for strongly-typed object-oriented programming. In Proceedings of the Conference on Object-Oriented Systems Languages and Applications, October 1989.

    Google Scholar 

  11. Luca Cardelli, James Donahue, Lucille Glassman, Mike Jordan, Bill Kalsow, and Greg Nelson. Modula-3 report (revised). Research Report 52, Digital Equipment Corporation, Systems Research Center, Palo Alto, CA, USA, November 1989.

    Google Scholar 

  12. William F. Clocksin and Christopher S. Mellish. Programming in Prolog. Springer Verlag, Berlin, Germany, 2nd edition, 1984.

    Google Scholar 

  13. Alain Colmerauer. PROLOG II reference manual and theoretical model. Internal report, Groupe d'Intelligence Artificielle, Université d'Aix-Marseille II, October 1982.

    Google Scholar 

  14. Alain Colmerauer. An introduction to PROLOG III. Communications of the ACM, pages 70–90, July 1990.

    Google Scholar 

  15. William Cook. A proposal for making Eiffel type-safe. The Computer Journal, 32(4):305–311, 1989.

    Google Scholar 

  16. Mehmet Dincbas, Helmut Simonis, and Pascal van Hentenryck. Extending equation-solving and constraint-handling in logic programming. In Hassan Aït-Kaci and Maurice Nivat, editors, Resolution of Equations in Algebraic Structures, Vol. 2: Rewriting Techniques, chapter 3, pages 87–115. Academic Press, Boston, MA, USA, 1989.

    Google Scholar 

  17. Bjorn Freeman-Benson. Kaleidoscope: Mixing objects, constraints, and imperative programming. In Joint Proceedings of the European Conference on Object-Oriented Programming, and the Conference on Object-Oriented Systems Languages and Applications, pages 77–88, ACM, 1990.

    Google Scholar 

  18. Matthias Felleisen. The Calculi of λ-v-CS-Conversion: A Syntactic Theory of Control and State in Imperative Higher-Order Programming Languages. PhD thesis, Indiana University, 1987.

    Google Scholar 

  19. Matthias Felleisen and Daniel Friedman. A syntactic theory of sequential state. Theoretical Computer Science, 69:243–287, 1989.

    Google Scholar 

  20. Matthias Felleisen, Mitchell Wand, Daniel Friedman, and Bruce Duba. Abstract continuations: a mathematical semantics for handling full functional jumps. In Proceeding of the Conference on Lisp and Functional Programming, pages 52–62, 1988.

    Google Scholar 

  21. Adele Goldberg and David Robson. Smalltalk 80: The Language and its Implementation. Addison-Wesley, 1980.

    Google Scholar 

  22. Robert Harper, Robin Milner, and Mads Tofte. The definition of standard ML — Version 2. Report LFCS-88-62, University of Edinburgh, Edinburgh, UK, 1988.

    Google Scholar 

  23. Markus Höhfeld and Gert Smolka. Definite relations over constraint languages. LILOG Report 53, IWBS, IBM Deutschland, Stuttgart, Germany, October 1988. To appear in the Journal of Logic Programming.

    Google Scholar 

  24. Joxan Jaffar and Jean-Louis Lassez. Constraint logic programming. In Proceedings of the 14th ACM Symposium on Principles of Programming Languages, Munich, Germany, January 1987.

    Google Scholar 

  25. Joxan Jaffar and Spiro Michaylov. Methodology and implementation of a CLP system. In Jean-Louis Lassez, editor, Proceedings of the Fourth International Conference on Logic Programming, pages 196–218. MIT Press, 1987.

    Google Scholar 

  26. Joxan Jaffar, Spiro Michaylov, Peter Stuckey, and Roland Yap. The CLP(ℜ) language and system. Report draft, IBM Thomas J. Watson Research Center, Yorktown Heights, NY, April 1988.

    Google Scholar 

  27. John McCarthy et al. Lisp 1.5 Programmer's Manual. MIT Press, second edition edition, 1965.

    Google Scholar 

  28. Richard O'Keefe. The Craft of Prology. Series on Logic Programming. MIT Press, Cambridge, MA, USA, 1990.

    Google Scholar 

  29. John Rees and William Clinger. The revised3 report on the algorithmic language Scheme. SIGPLAN Notices, 21(12):37–79, 1986.

    Google Scholar 

  30. Paul Rovner. Extending Modula-2 to build large, integrated systems. IEEE Software, 3(6), November 1986.

    Google Scholar 

  31. Leon Sterling and Ehud Shapiro. The Art of Prolog. Series on Logic Programming. MIT Press, Cambridge, MA, USA, 1986.

    Google Scholar 

  32. Guy Steele. Common LISP, The Language. Digital Press, 1984.

    Google Scholar 

  33. Pascal van Hentenryck. Constraint Satisfaction in Logic Programming. Series on Logic Programming. MIT Press, Cambridge, MA, USA, 1989.

    Google Scholar 

  34. Niklaus Wirth. Programming in Modula-2. Springer-Verlag, third edition edition, 1985.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Joachim W. Schmidt Anatoly A. Stogny

Rights and permissions

Reprints and permissions

Copyright information

© 1991 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Aït-Kaci, H. (1991). A glimpse of paradise. In: Schmidt, J.W., Stogny, A.A. (eds) Next Generation Information System Technology. EWDW 1990. Lecture Notes in Computer Science, vol 504. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-54141-1_2

Download citation

  • DOI: https://doi.org/10.1007/3-540-54141-1_2

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-54141-7

  • Online ISBN: 978-3-540-47444-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics