[Oberon] Eliminating RETURN statements
hklaver at dds.nl
Thu Apr 9 09:21:50 CEST 2020
Chris Burrows wrote:
>> PROCEDURE Fit (i, j: INTEGER): BOOLEAN;
>> VAR k: INTEGER;
>> k := 0;
>> WHILE (k <= piecemax[i]) & ~(p[i, k] & puzzl[j + k]) DO
>> RETURN k > piecemax[i]
>> END Fit;
> According to one of De Morgan's Laws
> i.e. ~(A AND B) --> (~A OR ~B)
> the WHILE expression can be simplified to:
> WHILE (k <= piecemax[i]) & (~p[i, k] OR ~puzzl[j + k]) DO
> However, I'm not convinced this is simpler. What do you think?
I would say that simplification means 'bringing to a form with less operators', and here there are (slightly) more operators on the right side.
So I do not consider it a simplification.
More information about the Oberon