Effective incorporation of function into logic

During the last decade, the integration of functional and logic languages has received widespread attraction for the purpose of offering two different programming styles in one system simultaneously. The main goal is to incorporate the characteristics of the two paradigms coherently, without degradi...

Full description

Saved in:
Bibliographic Details
Published inInformation and software technology Vol. 33; no. 10; pp. 768 - 779
Main Authors Nang, J.H., Shin, D.W., Maeng, S.R., Cho, J.W.
Format Journal Article
LanguageEnglish
Published Amsterdam Elsevier B.V 01.12.1991
Elsevier Science Ltd
Subjects
Online AccessGet more information

Cover

Loading…
More Information
Summary:During the last decade, the integration of functional and logic languages has received widespread attraction for the purpose of offering two different programming styles in one system simultaneously. The main goal is to incorporate the characteristics of the two paradigms coherently, without degrading the performance of the whole system. However, few languages have achieved this goal. Some of them, even though they have a rich set of functions, perform poorly. Others are efficient, but lose some important facilities. The paper proposes a functional logic language Lazy Aflog and its abstract machine FWAM-II as an expressive and efficient mechanism for this incorporation. Lazy Aflog is an extension of logic language in which functions are reduced in the extended unification, called E-unification with lazy evaluation. This extended unification allows Lazy Aflog to process infinite data structures and higher-order functions naturally. FWAM-II is an extension of the Warren Abstract Machine (WAM) in which the instructions and run-time structures to provide the suspension/reactivation of functional closure are added. These facilities enable FWAM-II to support not only resolution but also infinite data structures and higher-order functions efficiently. In addition, the experimental results show that Lazy Aflog and FWAM-II could be a good compromise between expressiveness and efficiency of the integration.
ISSN:0950-5849
1873-6025
DOI:10.1016/0950-5849(91)90050-L