:- object(square(Side),
extends(rectangle(Side, Side))).
:- info([
author is 'Paulo Moura',
version is 1.0,
date is 2000/4/22,
comment is 'Parametric object for representing geometric squares.',
parnames is ['Side']]).
:- public(side/1).
:- mode(side(?number), zero_or_one).
:- info(side/1, [
comment is 'Square side.',
argnames is ['Side']]).
side(Side) :-
parameter(1, Side).
width(Width) :-
parameter(1, Width).
height(Height) :-
parameter(1, Height).
:- end_object.