Oops, forgot to send to list. On Mon, 2008-09-01 at 01:27 +0100, Philippa Cowderoy wrote: > On Mon, 2008-09-01 at 01:11 +0100, David House wrote: > > 2008/8/31 Ryan Ingram <[EMAIL PROTECTED]>: > > > My proposal is to allow "ad-hoc" overloading of names; if a name is > > > ambiguous in a scope, attempt to type-check the expression against > > > each name. It is only an error if type-checking against all names > > > fails. If type-checking succeeds for more than one then the > > > expression is ambiguous and this is also an error. > > > > -1, at least for now. > > > > Haskell already has one method of overloading: type classes. What you > > propose is a seemingly innocent extension that I now doubt has > > extremely far-reaching consequences into the language. Such a feature > > should be properly researched before it is added to the language. > > Here's an example of such a concern: you write the following: > > > > import Data.Map > > foo = map > > > > What is the type of `foo'? > > If I've understood the proposal, that wouldn't check unless foo was used > in a way (within the module) that makes it clear which of Prelude.map or > Data.Map.map to use and uses it consistently. So if that's the entire > module, it wouldn't check. > > I'm still not keen, but in a sense the idea here is to avoid this > variety of overloading leaking into the type system itself: it could be > implemented (extremely naively) as "typecheck with each possible > permutation for resolving the overloading, use any unique solution or > fail if there isn't one".
-- Philippa Cowderoy <[EMAIL PROTECTED]> _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe