=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.27.1

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.