A High-Level Generic Interface to External Programming Languages for ECLiPSe
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.
KeywordsLogic Programming language interfaces implementation application development
Unable to display preview. Download preview PDF.
- 1.A. D. Birrell and B. J. Nelson. Implementing Remote Procedure Calls. ACM Transactions on Computer Systems, 2(1), Feb. 1984.Google Scholar
- 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.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.C. Lüth and B. Wol.. sml tk: Functional Programming for Graphical User Interfaces, Release 3.0.Google Scholar
- 5.M. Meier. ProTcXl 2.1 User Manual, 1996.Google Scholar
- 6.S. Novello, J. Schimpf, J. Singer, and K. Shen. ECLiPSe Embedding and Interfacing Manual, Release 5.2, 2001.Google Scholar
- 7.R. Srinivasan. XDR: External Data Representation Standard. Request for Comments (RFCs) 1832. The RFC Editor, Sun Microsystems, Inc., 1995.Google Scholar
- 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
- 10.S. Vinoski. CORBA: Intergrating Diverse Applications Within Distributed Hetrogeneous Environments. IEEE Communications, Feb. 1997.Google Scholar
- 11.W3C. Extensible Markup Language (XML) 1.0 (Second Edition), 2000. available at url: http://www.w3.org/YR/2000/REC-xml-20001006.