Please review #259: No kind signatures on associated types Shepherd: Simon PJ
Dear Committee, this is your secretary speaking: No kind signatures on associated types has been proposed by Richard https://github.com/ghc-proposals/ghc-proposals/pull/259 I propose Simon PJ as the shepherd, this seems to be a smaller fix of an existing proposal and Simon has already looked at it. Please reach consensus as described in https://github.com/ghc-proposals/ghc-proposals#committee-process In particular, talk to the authors before, if you think this should be rejected, and kick off the discussion on Github, following the steps described under “Now the shepherd proposes to accept or reject the proposal” in the above link. Thanks, Joachim -- Joachim Breitner mail@joachim-breitner.de http://www.joachim-breitner.de/
All, I'm the shepherd for | No kind signatures on associated types | https://github.com/ghc-proposals/ghc-proposals/pull/259 I recommend acceptance. The proposal takes the form of an amendment to an earlier accepted proposal Standalone kind signatures https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0054-ki... by prohibiting a standalone kind signature for the associated type of a class. The reason for this narrowing is well described in the "Associated types" subsection of the revised proposal. The first link above lets you see the baseline proposal, the diff, and the new proposal. I recommend acceptance because - the need for standalone signatures on associated types is weaker (albeit not absent) - allowing such a signature closes of one possible future direction So making them illegal now keeps our options open for the future. Since standalone kind signatures are not yet released, there will be no back-compat issues. Please express your opinion. I don't think this one is controversial. Simon | -----Original Message----- | From: ghc-steering-committee <ghc-steering-committee-bounces@haskell.org> | On Behalf Of Joachim Breitner | Sent: 05 September 2019 09:43 | To: ghc-steering-committee@haskell.org | Subject: [ghc-steering-committee] Please review #259: No kind signatures | on associated types Shepherd: Simon PJ | | Dear Committee, | | this is your secretary speaking: | | No kind signatures on associated types | has been proposed by Richard | https://github.com/ghc-proposals/ghc-proposals/pull/259 | | I propose Simon PJ as the shepherd, this seems to be a smaller fix of an | existing proposal and Simon has already looked at it. | | Please reach consensus as described in | https://github.com/ghc-proposals/ghc-proposals#committee-process | In particular, talk to the authors before, if you think this should be | rejected, and kick off the discussion on Github, following the steps | described under “Now the shepherd proposes to accept or reject the | proposal” in the above link. | | Thanks, | Joachim | -- | Joachim Breitner | mail@joachim-breitner.de | http://www.joachim-breitner.de/ | | _______________________________________________ | ghc-steering-committee mailing list | ghc-steering-committee@haskell.org | https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee
Hi, Am Freitag, den 06.09.2019, 16:42 +0000 schrieb Simon Peyton Jones via ghc-steering-committee:
So making them illegal now keeps our options open for the future.
compelling argument, am in favor :-) Cheers, Joachim -- Joachim Breitner mail@joachim-breitner.de http://www.joachim-breitner.de/
Yeah, seems reasonable to me as well. On Fri, Sep 6, 2019 at 2:41 PM Joachim Breitner <mail@joachim-breitner.de> wrote:
Hi,
Am Freitag, den 06.09.2019, 16:42 +0000 schrieb Simon Peyton Jones via ghc-steering-committee:
So making them illegal now keeps our options open for the future.
compelling argument, am in favor :-)
Cheers, Joachim -- Joachim Breitner mail@joachim-breitner.de http://www.joachim-breitner.de/
_______________________________________________ ghc-steering-committee mailing list ghc-steering-committee@haskell.org https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee
In my eyes, one of the most important use of type-signatures-for-everything (apart from a welcome uniformity), is the will to deprecate `*` in favour of `Type`. That is because, in practice, I always use `*` in CUSKS (of which I use a lot!), as with `Type`, they would become immensely crowded and, to me at least, barely readable. In short: to me type-signatures-for-everything is the one blocker for deprecating `*`. So let's look at this proposal through the lens of this use-case: - Associated type declaration are already kind of type signature assignments. - Except only partial, as some of the variables will be to the left of the type families - But these extra variables are already mentioned in the type class, where their type can be specified. In particular by a kind signature! So do I need to write `(Type -> Type) -> Type` near a type variable? No, I don't. I guess I'm in favour, then. On Fri, Sep 6, 2019 at 11:44 PM Iavor Diatchki <iavor.diatchki@gmail.com> wrote:
Yeah, seems reasonable to me as well.
On Fri, Sep 6, 2019 at 2:41 PM Joachim Breitner <mail@joachim-breitner.de> wrote:
Hi,
Am Freitag, den 06.09.2019, 16:42 +0000 schrieb Simon Peyton Jones via ghc-steering-committee:
So making them illegal now keeps our options open for the future.
compelling argument, am in favor :-)
Cheers, Joachim -- Joachim Breitner mail@joachim-breitner.de http://www.joachim-breitner.de/
_______________________________________________ ghc-steering-committee mailing list ghc-steering-committee@haskell.org https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee
_______________________________________________ ghc-steering-committee mailing list ghc-steering-committee@haskell.org https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee
On Sep 9, 2019, at 7:49 AM, Spiwack, Arnaud <arnaud.spiwack@tweag.io> wrote:
- Associated type declaration are already kind of type signature assignments. - Except only partial, as some of the variables will be to the left of the type families - But these extra variables are already mentioned in the type class, where their type can be specified. In particular by a kind signature!
So do I need to write `(Type -> Type) -> Type` near a type variable? No, I don't.
Not that I wish to dampen your enthusiasm for the proposal, but I disagree here.
class C a where type F a (b :: Type -> Type -> Type)
So, while it's true that we don't need all the Type stuff on the class variables, other variables may be included in an associated type and they might need kind signatures. Richard
I didn't know one could do that. Ah well. Still rare enough a use-case that I won't complain about this limitation. On Mon, 9 Sep 2019, 11:31 Richard Eisenberg, <rae@richarde.dev> wrote:
On Sep 9, 2019, at 7:49 AM, Spiwack, Arnaud <arnaud.spiwack@tweag.io> wrote:
- Associated type declaration are already kind of type signature assignments. - Except only partial, as some of the variables will be to the left of the type families - But these extra variables are already mentioned in the type class, where their type can be specified. In particular by a kind signature!
So do I need to write `(Type -> Type) -> Type` near a type variable? No, I don't.
Not that I wish to dampen your enthusiasm for the proposal, but I disagree here.
class C a where type F a (b :: Type -> Type -> Type)
So, while it's true that we don't need all the Type stuff on the class variables, other variables may be included in an associated type and they might need kind signatures.
Richard
Friends Last call on this one: | | No kind signatures on associated types | | https://github.com/ghc-proposals/ghc-proposals/pull/259 I have only heard from Joachim Iavor Arnaud I would love to hear from more of you. But this particular proposal is a small delta, and if I don't hear any objections I'll declare it accepted on Weds 18 Dept. Simon | -----Original Message----- | From: Simon Peyton Jones | Sent: 06 September 2019 17:43 | To: Joachim Breitner <mail@joachim-breitner.de>; ghc-steering- | committee@haskell.org | Subject: RE: [ghc-steering-committee] Please review #259: No kind | signatures on associated types Shepherd: Simon PJ | | All, | | I'm the shepherd for | | | No kind signatures on associated types | | https://github.com/ghc-proposals/ghc-proposals/pull/259 | | I recommend acceptance. | | The proposal takes the form of an amendment to an earlier accepted | proposal | Standalone kind signatures | https://github.com/ghc-proposals/ghc- | proposals/blob/master/proposals/0054-kind-signatures.rst | | by prohibiting a standalone kind signature for the associated type of a | class. | | The reason for this narrowing is well described in the "Associated types" | subsection of the revised proposal. | | The first link above lets you see the baseline proposal, the diff, and the | new proposal. | | I recommend acceptance because | - the need for standalone signatures on | associated types is weaker (albeit not absent) | - allowing such a signature closes of one possible | future direction | | So making them illegal now keeps our options open for the future. | | Since standalone kind signatures are not yet released, there will be no | back-compat issues. | | Please express your opinion. I don't think this one is controversial. | | Simon | | | | -----Original Message----- | | From: ghc-steering-committee | | <ghc-steering-committee-bounces@haskell.org> | | On Behalf Of Joachim Breitner | | Sent: 05 September 2019 09:43 | | To: ghc-steering-committee@haskell.org | | Subject: [ghc-steering-committee] Please review #259: No kind | | signatures on associated types Shepherd: Simon PJ | | | | Dear Committee, | | | | this is your secretary speaking: | | | | No kind signatures on associated types has been proposed by Richard | | https://github.com/ghc-proposals/ghc-proposals/pull/259 | | | | I propose Simon PJ as the shepherd, this seems to be a smaller fix of | | an existing proposal and Simon has already looked at it. | | | | Please reach consensus as described in | | https://github.com/ghc-proposals/ghc-proposals#committee-process | | In particular, talk to the authors before, if you think this should | | be rejected, and kick off the discussion on Github, following the | | steps described under “Now the shepherd proposes to accept or reject | | the proposal” in the above link. | | | | Thanks, | | Joachim | | -- | | Joachim Breitner | | mail@joachim-breitner.de | | http://www.joachim-breitner.de/ | | | | _______________________________________________ | | ghc-steering-committee mailing list | | ghc-steering-committee@haskell.org | | | | https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committ | | ee
participants (5)
-
Iavor Diatchki -
Joachim Breitner -
Richard Eisenberg -
Simon Peyton Jones -
Spiwack, Arnaud