Higher-order logic programming in Prolog
Higher-order logic programming in Prolog
Lee Naish
This is yet another paper which tells logic programmers what functional
programmers have known and practiced for a long time: "higher order"
programming is the way to go. How is this paper different from some of
the others? First, we point out that call/N is not the way to
go, despite its recent popularity as the primitive to use for higher
order logic programming. Second, we use standard Prolog rather than a
new language. Third, we compare higher order programming with the
skeletons and techniques approach. Fourth, we present solutions to some
(slightly) more challenging programming tasks. The interaction between
higher order programming and some of the unique features of logic
programming is illustrated and some important programming techniques are
discussed. Finally, we examine the efficiency issue.
Keywords: call, apply, functions, skeletons and techniques,
programming methodology, programming pearls
Lee