@ARTICLE{Hanus22TPLP,
author    = "Hanus, M.",
title     = "From Logic to Functional Logic Programs",
year      = "2022",
journal   = {Theory and Practice of Logic Programming},
number    = {4},
pages     = {538-554},
publisher = {Cambridge University Press},
volume    = {22},
doi       = {10.1017/S1471068422000187},
abstract = {
Logic programming is a flexible programming paradigm
due to the use of predicates without a fixed data flow.
To extend logic languages with the compact notation
of functional programming, there are various proposals
to map evaluable functions into predicates
in order to stay in the logic programming framework.
Since amalgamated functional logic languages offer
flexible as well as efficient evaluation strategies,
we propose an opposite approach in this paper.
By mapping logic programs into functional logic programs
with a transformation based on inferring
functional dependencies,
we develop a fully automatic transformation
which keeps the flexibility of logic programming
but can improve computations by reducing
infinite search spaces to finite ones.
}
}
