(* element.p *)

module element interface;

export element = ( ELEMENT, nullelement, printelement,
	elementless, elementsame, copyelement);

type ELEMENT = integer;

const nullelement = 0;

procedure printelement(x : ELEMENT);
function elementless(x, y : ELEMENT) : boolean;
function elementsame(x, y : ELEMENT) : boolean;
function copyelement(x : ELEMENT) : ELEMENT;

end.

module element implementation;

procedure printelement(x : ELEMENT);
begin
	write(x);
end;

function elementless(x, y : ELEMENT) : boolean;
begin
	elementless := x < y;
end;

function elementsame(x, y : ELEMENT) : boolean;
begin
	elementsame := x = y;
end;

(* jos elementti on monimutkainen, tässä joudutaan tekemään muutakin *)
function copyelement(x : ELEMENT) : ELEMENT;
begin
	copyelement := x;
end;

end. (* module element *)
