Hi everyone,
{-# DEPRECATED type Bar "Don't use type Bar" #-}
data Baz = Baz
{-# DEPRECATED pattern Baz "Don't use data constructor Baz" #-}
Using this pragma without specifiers should mean deprecating both (as is works now).
Reasons for choosing "data":
* it's a reserved keyword (as opposed to "value", which is another option)
* we are deprecating data constructors here
* it just feels right (sorry!)
Reasons against "data":
* it can be confusing whether we mean data type or data constructor
* we use "value" and "pattern" in other places meaning basically the same thing
If the committee decides to go this way, then the wider community may think about other proposals, such as
* adding positional DEPRECATED pragmas (including class instances deprecation)
* deprecating usage of nonpositional DEPRECATED pragma without the specifiers
Silence is understood as agreement.
Regards,
Vitaly