[mercury-users] query

Michael Day mikeday at yeslogic.com
Tue Mar 18 18:48:15 AEDT 2003

> The advantage of using module qualifiers is that it (IMHO) makes it
> easier for readers of the code.

How about we reconcile these two viewpoints by appending "in many
circumstances" or some other disclaimer?

For example, I maintain that the first of these examples wins:

:- pred main(io, io).
:- pred main(io__io, io__io).
:- pred main(io__state, io__state).

And also that qualifying foldl or an equivalently generic predicate is
unnecessary, as the intention of the code is to treat the argument as a
sequence of some kind without specifying its type. If in the future foldl
migrates to a type class method in a generic sequence module,
qualification will become irrelevant anyway.

But as you say, there are cases where module qualification could increase
readability. A rarely used predicate may benefit from module qualification 
to clarify its origin, and types or predicates with very generic names 
that depend heavily on context could also benefit - (this is different 
from the foldl example above, where although the name is generic it does 
not significantly depend on context).


mercury-users mailing list
post:  mercury-users at cs.mu.oz.au
administrative address: owner-mercury-users at cs.mu.oz.au
unsubscribe: Address: mercury-users-request at cs.mu.oz.au Message: unsubscribe
subscribe:   Address: mercury-users-request at cs.mu.oz.au Message: subscribe

More information about the users mailing list