Recently, many functional logic languages have been proposed for integrating both function and logic. These languages are very promising in that they can provide functional programming style as well as logic programming style. Though they are considered powerful languages, the most critical problem is that they are not efficient enough to be used in real domains.
In this thesis, we propose a sequential abstract machine, F-WAM, for functional logic languages based on Canonical Unification. This machine is an extension of WAM which is considered an efficient abstract machine for Prolog. A functional logic language which is an extension of Aflog is proposed and some techniques on the translation of the proposed functional logic language into F-WAM codes are also presented.
The simulation results show that F-WAM can efficiently execute the proposed functional logic language.