Towards the uniform implementation of declarative languages

  • Authors:
  • Manuel M. T. Chakravarty;Hendrik C. R. Lock

  • Affiliations:
  • Institute of Information Sciences and Electronics, University of Tsukuba, Tsukuba 305, Japan;Fakultät für Informatik, TH Karlsruhe, 76128 Karlsruhe, Germany

  • Venue:
  • Computer Languages
  • Year:
  • 1997

Quantified Score

Hi-index 0.00

Visualization

Abstract

Current implementation techniques for functional languages differ considerably from those for logic languages. This complicates the development of flexible and efficient abstract machines that can be used for the compilation of declarative languages combining concepts of functional and logic programming. We propose an abstract machine, called the JUMP-machine, which systematically integrates the operational concepts needed to implement the functional and logic programming paradigm. The use of a tagless representation for heap objects, which originates from the Spineless Tagless G-machine, supports the integration of different concepts. In this paper, we provide a functional logic kernel language and show how to translate it into the abstract machine language of the JUMP-machine. Furthermore, we define the operational semantics of the machine language formally and discuss the mapping of the abstract machine to concrete machine architectures. We tested the approach by writing a compiler for the functional logic language GTML. The obtained performance results indicate that the proposed method allows to implement functional logic languages efficiently.