================================================================= Logtalk - Object oriented extension to Prolog Release 2.27.0 Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved. ================================================================= To load this example and for sample queries, please see the SCRIPT file. Example adopted from the chapter "Classifying Prototype-Based Programming Languages" by Christophe Dony, Jacques Malenfant, and Daniel Bardou, found on the book "Prototype-Based Programming - Concepts, Languages, and Applications" published by Springer. This prototype programming example illustrates 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, joePerson, containing general data on Joe such as its age, name, or address, and four descendant prototypes or viewpoints, joeSportsman, joeEmployee, joeChessPlayer, and joeFilmEnthusiast. Each descendant contains data related to a particular viewpoint about Joe.