I was wondering what the generally felling to allowing true ad-hoc
overloading like it is done in C++ in Java but more powerful because
functions can also be overloaded by the return value.

As I see it it will solve a hole series of problems:

1) Allow constructor identifiers to appear in more than one type.
  ie data A = X | Y
     data B = X | Y

2) Allow record selector names to clash.

3) Eliminate the need for all the *By functions

4) And many many more such as allowing
      array (range 1 to 10 step 2) ...
      array (1,10) ...
      array (range 1 to 10) ...

      w <- newWindow (buttons minimize maximize) (size 5 by 10 inches)
      w <- newWindow nobuttons (size 100 by 100)
      w <- newWindow

  which is possible due to the currying nature of Haskell
  (If you have never seen this before and would like to see
   how this is possible please let me know)

So I was wondering if any one has given it any serious thought....
-- 
Kevin Atkinson
[EMAIL PROTECTED]
http://metalab.unc.edu/kevina/


Reply via email to