1990 年 5 巻 6 号 p. 771-778
In the last few years there has been growing interest on amalgamated programming languages which have integrated the features of logic and functional programming languages. The programmer can write programs more naturally in the amalgamated language. But its execution mechanism generally involves a very large search space and is inefficient. Thus interpreters of amalgamated languages make sacrifices in the scope of the language and/or efficiency of the interpreter. In this paper, we propose an amalgamated language, AMLOG, which is equipped with two kinds of equations, '=' and ':='. These symbols are used to control the execution strategy and switch between non-deterministic execution and deterministic (pruned computation tree) execution. Thus, in AMLOG, a programmer can select an appropriate description for a problem. This enlarges the scope of the interpreter and at the same time allows efficient execution.