A High-Level Generic Interface to External Programming Languages for ECLiPSe

  • Kish Shen
  • Joachim Schimpf
  • Stefano Novello
  • Josh Singer
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2257)


This paper addresses an important but rarely discussed practical aspect of programming in a declarative language: its interface to other programming languages. We present the high-level, generic interface of ECLiPSe, and discuss the reasons for our design choices. The main feature of the interface is that it cleanly separates the code for ECLiPSe from that of the external language, allowing the interface to be used for different languages. We believe that many of the concepts developed for this interface can be applied to other declarative languages, especially for other Prolog systems.


Logic Programming language interfaces implementation application development 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    A. D. Birrell and B. J. Nelson. Implementing Remote Procedure Calls. ACM Transactions on Computer Systems, 2(1), Feb. 1984.Google Scholar
  2. 2.
    F. Bueno, D. Cabeza, M. Carro, M. Hermenegildo, P. López, and G. Puebla. The Ciao Prolog System Reference Manual, 2000.Google Scholar
  3. 3.
    S. Finne, D. Leijen, and E. Meijer. Calling Hell from Heaven and Heaven from Hell. In Proceedings of the International Conference on Functional Programming. ACM Press, 1999.Google Scholar
  4. 4.
    C. Lüth and B. Wol.. sml tk: Functional Programming for Graphical User Interfaces, Release 3.0.Google Scholar
  5. 5.
    M. Meier. ProTcXl 2.1 User Manual, 1996.Google Scholar
  6. 6.
    S. Novello, J. Schimpf, J. Singer, and K. Shen. ECLiPSe Embedding and Interfacing Manual, Release 5.2, 2001.Google Scholar
  7. 7.
    R. Srinivasan. XDR: External Data Representation Standard. Request for Comments (RFCs) 1832. The RFC Editor, Sun Microsystems, Inc., 1995.Google Scholar
  8. 9.
    P. Tarau and B. Demoen. Language Embedding by Dual Compilation and State Mirroring. In Proceedings of the 6-th Workshop on Logic Programming Environments, ICLP94, 1994.Google Scholar
  9. 10.
    S. Vinoski. CORBA: Intergrating Diverse Applications Within Distributed Hetrogeneous Environments. IEEE Communications, Feb. 1997.Google Scholar
  10. 11.
    W3C. Extensible Markup Language (XML) 1.0 (Second Edition), 2000. available at url:

Copyright information

© Springer-Verlag Berlin Heidelberg 2002

Authors and Affiliations

  • Kish Shen
    • 1
  • Joachim Schimpf
    • 1
  • Stefano Novello
    • 1
  • Josh Singer
    • 1
  1. 1.IC-ParcImperial CollegeLondonUK

Personalised recommendations