Boolean Operators Slighted in C
rcd at nbires.UUCP
rcd at nbires.UUCP
Fri May 9 15:31:54 AEST 1986
> >Btw, you can't have *all* operators extended with "=". How would you write
> >"v = v < e;"? (Not that it's useful.)
A more precisely stated rule, for C, would be that you can extend any
dyadic operator whose result type is the same as the type of the first
operand, but...
> I think it's useful! As written, of course, it's semantically invalid,
> but what you really mean is "v <= e" (sic) or, to demonstrate where it's
> really useful,
> array[horrendous] [subscript] [list] <= bigexpr;
> rather than
> if (array[h][s][l] < bigexpr) array[h][s][l] = bigexpr;
Cf. Icon, in which the success/failure of a conditional is separate from
its value. Icon's <= operator (as all of its relational operators) yields
the value of its right operand if it succeeds; otherwise it fails (meaning
no result is produced). The semantics described above in ">" is just that
of Icon's <:= operator.
--
Dick Dunn {hao,ucbvax,allegra}!nbires!rcd (303)444-5710 x3086
...Cerebus for dictator!
More information about the Comp.lang.c
mailing list