> Me too, for (A)!  (B) looks too ugly for me.  A type declaration should
> refer to the "most local" definition of the name.

I go for A, though I'd say that type declarations are part 
of the definitions and the definitions in a module 
obviously are of names in that module.

> Btw, why would one declare the type of a function defined outside the
> current module?  For documentation only?  I would just use a comment if
> that's the case. 

You might want to restrict the type of an imported function 
to something less polymorphic.  But it seems to me that the 
logical place for such things is in the import list, since 
this is effectively defining the environment for the module.

   Jón

-- 
Jón Fairbairn                                 [EMAIL PROTECTED]
18 Kimberley Road                                        [EMAIL PROTECTED]
Cambridge CB4 1HH            +44 1223 570179 (after 14:00 only, please!)



Reply via email to