While the discussion centers around overload resolution let me re-iterate a point that (e.g.,) Java does nicely:
for their "x.f", if x :: T, then you write .f (unqualified) instead of .T.f (qualified), even if you needed qualification to declare the type of x, as in "foo.bar.T x;" This requires a mixture of type checking (for x) and name resolution (for f), which probably wouldn't fit with Haskell's current module and type system. Too bad ... Best - Johannes.
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe