@INPROCEEDINGS{Hanus97DPLE,
author = "Hanus, M.",
title = "Teaching Functional and Logic Programming with a Single Computation Model",
year = "1997",
publisher = "Springer LNCS 1292",
booktitle = "Proc.\ Ninth International Symposium on Programming Languages,
Implementations, Logics, and Programs (PLILP'97)",
pages = "335-350",
abstract = {
Functional and logic programming are often taught in different courses
so that students often do not understand the relationships between
these declarative programming paradigms.  This is mainly due to the
different underlying computation models---deterministic reduction and
lazy evaluation in functional languages, and non-deterministic search
in logic languages.  We show in this paper that this need not be the
case.  Taking into account recent developments in the integration of
functional and logic programming, it is possible to teach the ideas of
modern functional languages like Haskell and logic programming on the
basis of a single computation model.  From this point of view, logic
programming is considered as an extension of functional programming
where ground expressions are extended to contain also free variables.
We describe this computation model, the structure of a course based on
it, and draw some conclusions from the experiences with such a course.
},
}

