================================================================= Logtalk - Object oriented extension to Prolog Release 2.23.1 Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved. ================================================================= To load this example and for sample queries, please see the SCRIPT file. Example adopted from the paper "Classifying Prototype-Based Programming Languages" by Christophe Dony, Jacques Malenfant and Daniel Bardou. This prototype programming example ilustrates how we can do both property sharing and value sharing in Logtalk by calling the built-in predicate modification methods asserta/1, assertz/1 and retract/1 either in the context of "this" or in the context of "self". In this example we have a prototype named joePerson, containing general data on joe like its age, name or address, and three descendants/viewpoints named joeSportsman, joeEmployee, joeChessPlayer, and joeFilmEnthusiast. Each descendant contains data related to a particular viewpoint about joe.