Bulat Ziganshin wrote:
f :: Num a => a -> Int
write as
f :: Num -> Int
so, while this proposal is rather minor, i think that it is Good thing
I wouldn't like it because I'd like to eventually make the class namespace
separate from the tycon namespace so that I could write:
class Object a where
...
data Object = forall a. Object a => Object a
etc (this goes with H' proposal that the namespace should always be explicit
on the module export/import list [1]).
A good editor (hint: the one I'm writing!!!) will be able to highlight the
uses of "Object" to make it clear which is a class, which is a Tycon, and
which is a ValueCon, and the operation of replacing a concrete type with a
class in the type signature to generalise some functions could be made
easier with a good refactoring tool.
Best regards,
Brian.
[1]
http://hackage.haskell.org/trac/haskell-prime/wiki/TagExportsWithNamespace
--
Logic empowers us and Love gives us purpose.
Yet still phantoms restless for eras long past,
congealed in the present in unthought forms,
strive mightily unseen to destroy us.
http://www.metamilk.com
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe