The nice thing about Haskell's overloading is that every function,
like f, has a type.
Not two different types, but one general type you can give it. It's
a different approach to overloading.
-- Lennart
On Mar 20, 2007, at 14:37 , Fawzi Mohamed wrote:
Bulat Ziganshin wrote:
Hello Fawzi,
Tuesday, March 20, 2007, 1:47:48 PM, you wrote:
That was the reason that is spoke of aldor ( http://
www.aldor.com ), as
ehm http://www.aldor.org
it has type inference, but yes indeed this makes type inference
much more difficult and undefined in some cases (also haskell
extensions make
inference in general impossible).
the problem is not only implementation, but error messages. are you
want to see a message like "a should be Int, b should String, and ñ
should be Double; or x should be String and y Int; or ñ should be
[Int]" ? :)
ambiguous function call at line xxx.
Possible instances are:
f: Int -> String -> Double -> a
f: String -> Int -> [Int] -> a
please explicitly annotate the type to disambiguate
Note that you want to use also the type of the result to disambiguate.
Not easy, but doable, and done, again I can understand why haskell
did not do it.
Fawzi
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe