> My proposal is to allow "ad-hoc" overloading of names; 

+1, although ...

this could interact badly with the (still common?)
practice of leaving out type declarations.
(of course having allowed this in the first place
is another language design error :-)

when considering language changes (extensions),
we should carefully distinguish whether it mainly
helps readability or writability - and readability
should be the prime concern.

e.g. ad-hoc overloading will lead to less typing,
but more trouble reading.

often, the work of typing can be reduced by tools
(e.g. IDEs that know about the names that are currently in scope,
and are applicable for a particular type,
and can auto-complete them etc.)

in the particular case of writing M.* too often,
another option would be to have a local "unqualification"
of an import. Cf. C++: "using namespace", which can occur
in any scope, not just at top (module) level;  or Ada: "use".

J.W.



Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to