Case-based reasoning (CBR) is a novel technique which can, for some domains, serve as an alternative to "traditional" rule-based expert systems techniques. Systems that are based on CBR have many interesting properties. Moreover, CBR have many important advantages over rule-based systems. In this paper, we give a presentation of the basic ideas behind CBR. A comparison is made between rule-based systems and CBR systems. We also discuss how CBR systems can be implemented, in particular using SICStus Prolog. Finally, we present a simple CBR system for the domain of photography.