Peter Van Roy
This short tutorial explains how to do Prolog-style logic programming in Oz. We give programming examples that can be run interactively on the Mozart system, which implements Oz. The Oz language is the result of a decade of research into programming based on logic. The Oz computation model subsumes both search-based logic programming and committed-choice (concurrent) logic programming with deep guards. Furthermore, Oz provides new abilities, such as first-class top levels and constant-time merge, that exist in neither of its ancestors. We show two of the Oz interactive graphic tools, namely the Browser and the Explorer, which are useful for developing and running logic programs. We conclude by explaining why logic programming is just a prelude to the real strengths of Oz, namely constraint programming and distributed programming. In these two areas, Oz is equal to or better than any other system existing in the world today. For example, for compute-intensive constraint problems Oz provides parallel search engines that can be used transparently, i.e., without changing the problem specification.