[mercury-users] hi & a feq queries

Peter Schachte pets at students.cs.mu.OZ.AU
Tue Aug 18 11:29:23 AEST 1998


On Tue, 18 Aug 1998, Thomas Charles CONWAY wrote:

> There is another reason apart from efficiency that a switch should be
> preferred - once you've gone to the trouble (and it is rarely much
> trouble) of making all the cases (except the default) mutually
> exclusive, a switch is more likely to be more maintainable, simply
> because the compiler will detect it if your modifications lead to
> cases that are not mutually exclusive.

First of all, maintainability is not an issue in machine-generated code, so
I still think generating an if-then-else is sensible in the case under
discussion.

Secondly, I don't understand your comment in this case.  I understand how a
switch can help you maintain code when the switch covers all cases.  If you
add an alternative to the switched-over type, the switch will change from
det to semidet.  Great.  But we're talking about a switch with a default, so
the switch part is already semidet.  I don't see how you could change a type
so that a semidet disjunction is no longer semidet.


-Peter Schachte               | The fantastic advances in the field of
mailto:pets at cs.mu.OZ.AU       | communication constitute a grave danger to
http://www.cs.mu.oz.au/~pets/ | the privacy of the individual.
PGP: finger pets at 128.250.37.3 |     -- Earl Warren 




More information about the users mailing list