[Oberon] Clarifying type compatibility in Oberon-07

Jörg joerg.straube at iaeth.ch
Thu Oct 5 19:05:19 CEST 2017

As with the pointer assignment discussed earlier, the structural equivalence for procedures variables is rather a by-product.
As you have to code the structural equivalence anyhow for procedure constants, you evaluate the expression e and start comparing formal parameters :-)

ORP.CompTypes:    … (t0.form = ORB.Proc) & (t1.form = ORB.Proc) & EqualSignatures(t0, t1) …


Am 05.10.17, 18:14 schrieb "Oberon im Auftrag von August Karlstrom" <oberon-bounces at lists.inf.ethz.ch im Auftrag von fusionfile at gmail.com>:

    On 2017-10-05 17:56, Jörg wrote:
    > Okay. NW’s compiler allows it.
    > If you write p2(4,5) it’s debatable whether p2 is a “name of a procedure“...
    Assignment rule 7 wouldn't be so verbose if it wasn't to specify that 
    the expression must be a procedure constant. So Oberon-2 as do 
    "standard" Oberon-07 uses structural equivalence only for procedure 
    variable initialization with a procedure (constant).
    -- August
    Oberon at lists.inf.ethz.ch mailing list for ETH Oberon and related systems

More information about the Oberon mailing list