
I don't think it makes a lot of sense to accept this proposal, since it conflicts with the earlier one. Should we instead work on a modification of the earlier proposal to extend it to import/export lists, and also resolve the debate about data/pattern/value?
Good summary. We clearly need something that behaves uniformly in the five situations Simon describes. Whether we think of it as “a modification of an earlier proposal” or “a new proposal” doesn’t really matter.
Simon
From: ghc-steering-committee
I also argue that, to be consistent, whatever keyword we agree, we should use it In the (accepted) infix/WARNING proposal In import and export lists – presumably for now in addition to ‘pattern’, though we might end up deprecating the latter. Simon
From: Vitaly Bragilevsky
mailto:bravit111@gmail.com> Sent: 08 March 2019 14:44 To: Simon Peyton Jones mailto:simonpj@microsoft.com> Cc: Simon Marlow mailto:marlowsd@gmail.com>; ghc-steering-committee mailto:ghc-steering-committee@haskell.org> Subject: Re: [ghc-steering-committee] #167: Deprecated Entities, rec: accept Simon PJ argues for "value" over "data" as a specifier: https://github.com/ghc-proposals/ghc-proposals/pull/167#issuecomment-4709471...https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fghc-proposals%2Fghc-proposals%2Fpull%2F167%23issuecomment-470947193&data=02%7C01%7Csimonpj%40microsoft.com%7C11f6477c61a248e5504b08d6a7b8c74d%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636880809398082326&sdata=bap1ILHXYU%2Bxblq5N3DapBvpr5Se3TdNiwLi8kHT3I0%3D&reserved=0
I'm fine with this choice either (and I'm satisfied with the argument that deprecating or setting fixity for value "value" is a rare case to be considered seriously). If you have another opinion, please, speak up.
Vitaly
On Fri, Mar 8, 2019 at 11:42 AM Simon Peyton Jones
mailto:simonpj@microsoft.com> wrote: I’ve made a post on the proposal thread asking why we don’t just follow the already-adopted proposal for WARNING and infix pragmas.
Simon
From: ghc-steering-committee
mailto:ghc-steering-committee-bounces@haskell.org> On Behalf Of Simon Marlow Sent: 08 March 2019 07:57 To: Vitaly Bragilevsky mailto:bravit111@gmail.com> Cc: ghc-steering-committee mailto:ghc-steering-committee@haskell.org> Subject: Re: [ghc-steering-committee] #167: Deprecated Entities, rec: accept Yes, I think this is the right way to go.
Cheers Simon
On Fri, 8 Mar 2019 at 05:25, Vitaly Bragilevsky
mailto:bravit111@gmail.com> wrote: Hi everyone,
I was asked to shepherd the proposal #167 (Deprecated Entities, https://github.com/nineonine/ghc-proposals/blob/depr-entities/proposals/0000...https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnineonine%2Fghc-proposals%2Fblob%2Fdepr-entities%2Fproposals%2F0000-deprecated-entities.rst&data=02%7C01%7Csimonpj%40microsoft.com%7C11f6477c61a248e5504b08d6a7b8c74d%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636880809398082326&sdata=V%2Bgqa%2FslqR01WIiGKDyuXFSYqp4RkFdbHcB6G1l2l1w%3D&reserved=0). It is proposed to extend (nonpositional) DEPRECATED pragma with the two specifiers to disambiguate deprecating named type-level and value-level things. In its current formulation, the proposal suggests to use the specifiers "type" for type-level things and "pattern" for value-level things as follows:
data Bar = Bar {-# 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).
After discussing this proposal within the committee (see https://mail.haskell.org/pipermail/ghc-steering-committee/2019-February/0008...https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmail.haskell.org%2Fpipermail%2Fghc-steering-committee%2F2019-February%2F000894.html&data=02%7C01%7Csimonpj%40microsoft.com%7C11f6477c61a248e5504b08d6a7b8c74d%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636880809398092323&sdata=YTuIVN7wsC%2FmzJ51PH2RGCPLiecKhvkEFO0Ug3Aq7fg%3D&reserved=0), I recommend acceptance with one change, namely using "data" instead of "pattern" for deprecating value-level things.
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) * fixing inconsistencies with the fixity declarations (https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0008-ty...https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fghc-proposals%2Fghc-proposals%2Fblob%2Fmaster%2Fproposals%2F0008-type-infix.rst&data=02%7C01%7Csimonpj%40microsoft.com%7C11f6477c61a248e5504b08d6a7b8c74d%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636880809398092323&sdata=ktRl25ulQKFOI7cxTFabP0wTcg7C9g77LzxPO1riyVs%3D&reserved=0) and updating ExplicitNamespaces in import/export lists * deprecating usage of nonpositional DEPRECATED pragma without the specifiers
Silence is understood as agreement.
Regards, Vitaly
_______________________________________________ ghc-steering-committee mailing list ghc-steering-committee@haskell.orgmailto:ghc-steering-committee@haskell.org https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committeehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmail.haskell.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fghc-steering-committee&data=02%7C01%7Csimonpj%40microsoft.com%7C11f6477c61a248e5504b08d6a7b8c74d%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636880809398102314&sdata=VC3xfGC13FRwTHAklISNNhA1rcoql3OZVTPDkUddWGY%3D&reserved=0
_______________________________________________ ghc-steering-committee mailing list ghc-steering-committee@haskell.orgmailto:ghc-steering-committee@haskell.org https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committeehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmail.haskell.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fghc-steering-committee&data=02%7C01%7Csimonpj%40microsoft.com%7C11f6477c61a248e5504b08d6a7b8c74d%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636880809398102314&sdata=VC3xfGC13FRwTHAklISNNhA1rcoql3OZVTPDkUddWGY%3D&reserved=0 -- Joachim Breitner mail@joachim-breitner.demailto:mail@joachim-breitner.de http://www.joachim-breitner.de/https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.joachim-breitner.de%2F&data=02%7C01%7Csimonpj%40microsoft.com%7C11f6477c61a248e5504b08d6a7b8c74d%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636880809398112311&sdata=uuKaUz37cFsSoxYHkKX%2Ba2DoSTUtw50aMrga5FCW8LE%3D&reserved=0
_______________________________________________ ghc-steering-committee mailing list ghc-steering-committee@haskell.orgmailto:ghc-steering-committee@haskell.org https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committeehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmail.haskell.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fghc-steering-committee&data=02%7C01%7Csimonpj%40microsoft.com%7C11f6477c61a248e5504b08d6a7b8c74d%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636880809398112311&sdata=ngNXSvxU3dcuQq0SOQZf8DNtP5Sz4sGbg9Y2eSu%2BeIo%3D&reserved=0 _______________________________________________ ghc-steering-committee mailing list ghc-steering-committee@haskell.orgmailto:ghc-steering-committee@haskell.org https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committeehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmail.haskell.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fghc-steering-committee&data=02%7C01%7Csimonpj%40microsoft.com%7C11f6477c61a248e5504b08d6a7b8c74d%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636880809398122306&sdata=Oyy8xoNizqkTE4RovIMahuiWA6hvoVtib0S%2FgLStY0c%3D&reserved=0 _______________________________________________ ghc-steering-committee mailing list ghc-steering-committee@haskell.orgmailto:ghc-steering-committee@haskell.org https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committeehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmail.haskell.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fghc-steering-committee&data=02%7C01%7Csimonpj%40microsoft.com%7C11f6477c61a248e5504b08d6a7b8c74d%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636880809398122306&sdata=Oyy8xoNizqkTE4RovIMahuiWA6hvoVtib0S%2FgLStY0c%3D&reserved=0