Difference lists in Prolog - Csenki, Attila (Teaching Mathematics and Computer Science, 2010)
Prolog is taught at Bradford University within the two-semester module Symbolic and Declarative Computing/Artificial Intelligence. Second year undergraduate students are taught here the basics of the functional and the logic programming paradigms, the latter by using the Linux implementation of SWI Prolog [6]. The topic ’Difference lists’ is mentioned in traditional textbooks such as [2] and [5] but it was felt that the available texts do not quite serve our purposes. We present here a lecture handout and a laboratory sheet for the teaching sessions on Difference lists. It is believed that the lectures and lab sessions together with the handouts shown here are a gentle, self-contained and reasoned introduction into the topic. The figures here shown to illustrate the concepts are considered a special feature of the handouts which in this form do not seem to be well known.