Lisaac prototype interface

Section Header
+ name := SAFE_EQUAL[E];
- comment :="The goal of this class is to share the definition of \ \feature `safe_equal'. Feature `safe_equal' compares \ \two arguments of type E, by calling `==' only \ \and only if both arguments have the `same_type'..";
Section Inherit
- parent:OBJECT :=
Section Public
- safe_equal (e1, e2:E) :BOOLEAN <-
In order to avoid run-time type errors, feature `safe_equal' call
`==' only when `e1' and `e2' have exactly the same `generating_type'.
Furthermore, this feature avoid argument passing from some
expanded type to the corresponding reference type (no automatic
allocation of some reference type during the comparison).