[darcs-devel] GHC and flagging use of a given constant

David Roundy droundy at darcs.net
Thu Jan 11 11:54:40 PST 2007


On Thu, Jan 11, 2007 at 08:48:28PM +0100, Juliusz Chroboczek wrote:
> >> Another thing I'd like to be able to do is to flag all uses of a given
> >> instance of a method in a type class.  The case in point is that we're
> >> using the instance
> >> 
> >>   show :: Control.Exception.Exception -> String
> >> 
> >> in quite a lot of places, and most of these are incorrect.
> 
> Hmm...  It looks like the DEPRECATED pragma (7.10.1 in the user's
> manual) almost does what we need.  It only has two flaws:
> 
>   - you cannot put it in a different module -- you need to recompile
>     the Ghc libraries;
>   - you cannot apply it to a method in an instance.

I think we'd really like to apply it not to the method, but to the instance
itself.  So that use of the Show instance of Control.Exception.Exception
would be deprecated.  This'd be more severe, since there might be classes
that depend on a show instance, but don't actually use it.

Another possibility for this particular problem would be to be able to
rewrite the show instance.  If we could just remove the stupid "User
error:" text from the show instance, I don't think it'd be a bug to use it
anymore.
-- 
David Roundy
Department of Physics
Oregon State University


More information about the darcs-devel mailing list