Renaud,
I'm just getting around to the FoCal information. Obviously you've done a lot of
work on this subject already. I have the papers and the reference manual near
the top of the reading stack. I'm certain to have questions.
Yes, BasicType requires properties for = "" as symmetry which would have
to be proven at the Domain level for each implementation. Of course, = is not
actually implemented directly in NNI but somewhere up the inheritance chain.
For example, the domain ANY has
x = y ==
(
x.dm =
y.dm) and EQUAL(x.ob, y.ob)$Lisp
where dm is a field in the Record implementation of ANY
Rep := Record(dm: SExpression, ob: None)
which depends on the Lisp definition of EQUAL and SExpression
is one of String, Symbol, Integer, DoubleFloat, OutputForm
Whereas the domain IndexedList implements