[ghc-steering-committee] Wrapping up Constructor Synonyms and Pattern Synonym Signatures

Simon Peyton Jones simonpj at microsoft.com
Mon Apr 10 15:22:35 UTC 2017


|  It seems to me like the respondents so far are in favor of #42, but
|  want the strongest variant. I'd like to move to accept #42 with the
|  "May not differ in anything but the constraints" variant. Any
|  objections?

Yes, I agree; but I'd like the author to feel free to say why he wants a looser variant, if he does.

Incidentally, we use the same rule of "differ only in context" in default method signatures
http://downloads.haskell.org/~ghc/master/users-guide/glasgow_exts.html#default-method-signatures


Simon

|  -----Original Message-----
|  From: ghc-steering-committee [mailto:ghc-steering-committee-
|  bounces at haskell.org] On Behalf Of Christopher Allen
|  Sent: 09 April 2017 21:17
|  To: ghc-steering-committee at haskell.org
|  Subject: [ghc-steering-committee] Wrapping up Constructor Synonyms and
|  Pattern Synonym Signatures
|  
|  Thank you to those of you that replied. I'd like to preserve the
|  syntactic distinction that construction synonyms eliminates. Your
|  statements have shifted me to a reject on
|  https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithu
|  b.com%2Fghc-proposals%2Fghc-
|  proposals%2Fpull%2F41&data=02%7C01%7Csimonpj%40microsoft.com%7C34ad4d0
|  7eee744a4ed1508d47f8559fb%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7
|  C636273658090436080&sdata=tPaXwm5D5BMML3EZBsX5zN1MLwM4Va%2FBXeMm0vlyH%
|  2Bk%3D&reserved=0
|  
|  If no one has objections, I'd like to move to a reject as I think
|  enough time has elapsed that it's unlikely to get any defenders. Speak
|  up if you feel something was missed.
|  
|  
|  Regarding
|  https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithu
|  b.com%2Fghc-proposals%2Fghc-
|  proposals%2Fpull%2F42&data=02%7C01%7Csimonpj%40microsoft.com%7C34ad4d0
|  7eee744a4ed1508d47f8559fb%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7
|  C636273658090436080&sdata=I3HbbipKfDTiWs6xGUSa1mKyU43L8zffneaEdcZKYS4%
|  3D&reserved=0
|  
|  Summarizing peoples' replies so far:
|  
|  Joachim: In favor, as long as :i does the right thing. Seems under-
|  specified, suggested the following possible relationships between
|  signature of the pattern and the constructor:
|  
|  * May not differ in anything but the constraints.
|  * Must have the same return type.
|  * Must have the same outer type constructor in their return type.
|  * No relation.
|  
|  Roman: In favor of this proposal under the "May not differ in anything
|  but the constraints" policy and against it under any of the other
|  three.
|  
|  Simon PJ: In favor of #42 alone, but no holes. Agrees with Roman that
|  that type of the constructor should be the same as that of the
|  pattern.
|  
|  Simon Marlow: I believe the statement was in favor of #42 contra #41,
|  but I didn't get a sense of how strongly or how Simon felt about the
|  particulars.
|  
|  
|  I agree with and want to highlight Roman's point regarding,
|  
|  >A looser relationship between the constructor function and the
|  pattern makes code significantly harder to read and the proposal
|  doesn't include any justification for such a looser relationship so I
|  would go with the strongest requirement possible.
|  
|  
|  It seems to me like the respondents so far are in favor of #42, but
|  want the strongest variant. I'd like to move to accept #42 with the
|  "May not differ in anything but the constraints" variant. Any
|  objections?
|  
|  
|  Thank you Joachim for the status update last week.
|  
|  Thanks you for your time everyone,
|  Chris Allen
|  _______________________________________________
|  ghc-steering-committee mailing list
|  ghc-steering-committee at haskell.org
|  https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-
|  committee


More information about the ghc-steering-committee mailing list