[ghc-steering-committee] Proposal: Or patterns #43 (Round 2)

Richard Eisenberg rae at cs.brynmawr.edu
Wed Jun 13 15:19:39 UTC 2018


The paper is up at https://cs.brynmawr.edu/~rae/papers/2018/pat-tyvars/pat-tyvars.pdf

But do see recent conversation on the ticket, as this may be undergoing more revision, allowing, say, existentials to work with this feature.

Richard

> On Jun 8, 2018, at 6:16 PM, Simon Peyton Jones via ghc-steering-committee <ghc-steering-committee at haskell.org> wrote:
> 
> See my reply on the Github thread.
> Richard what do you think?  Can you post the paper?
>  
> Simon
>  
> From: ghc-steering-committee <ghc-steering-committee-bounces at haskell.org> On Behalf Of Simon Marlow
> Sent: 08 June 2018 20:54
> To: Manuel M T Chakravarty <chak at justtesting.org>
> Cc: ghc-steering-committee at haskell.org
> Subject: Re: [ghc-steering-committee] Proposal: Or patterns #43 (Round 2)
>  
> +1, but we should hear from Simon about the existential point.
>  
> On 1 June 2018 at 08:30, Manuel M T Chakravarty <chak at justtesting.org <mailto:chak at justtesting.org>> wrote:
> We now have a revised version of the ”Or pattern” proposal #43 to consider:
>  
>  (formatted) https://github.com/osa1/ghc-proposals/blob/or_patterns/proposals/0000-or- <https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fosa1%2Fghc-proposals%2Fblob%2For_patterns%2Fproposals%2F0000-or-&data=02%7C01%7Csimonpj%40microsoft.com%7C97aa991a9856484a940e08d5cd798afa%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636640844264137789&sdata=Bkxgi6BdjD1xNptF28bekSybUBT9%2BdtkfIzMiOtpvQQ%3D&reserved=0>patterns.rst
>  (PR thread) https://github.com/ghc-proposals/ghc-proposals/pull/43 <https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fghc-proposals%2Fghc-proposals%2Fpull%2F43&data=02%7C01%7Csimonpj%40microsoft.com%7C97aa991a9856484a940e08d5cd798afa%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636640844264147806&sdata=lmj6p8TZ9hL096TRiYLMjWGGuLi0m8R0Vr9y5fF30Ug%3D&reserved=0>
>  
> You may remember that we discuss this a while back
>  
>   https://mail.haskell.org/pipermail/ghc-steering-committee/2017-November/000231.html <https://mail.haskell.org/pipermail/ghc-steering-committee/2017-November/000231.html>
>  
> and finally decided to bounce it back to the authors with the following recommendation:
>  
>   https://github.com/ghc-proposals/ghc-proposals/pull/43#issuecomment-358189327 <https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fghc-proposals%2Fghc-proposals%2Fpull%2F43%23issuecomment-358189327&data=02%7C01%7Csimonpj%40microsoft.com%7C97aa991a9856484a940e08d5cd798afa%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636640844264157815&sdata=OfK54e4IqvNRarsHVjtd18xErq7IyY1svOCe2k9LdPQ%3D&reserved=0>
>  
> We previously decided that we are inclined to accept this proposal if the authors change the points that we highlighted. Judging from the conversation of SimonPJ and Richard with the author on the GitHub thread, it appears to me that most of the issues have been addressed. However, Simon’s point 
>  
> • "Patterns that bind existentials, dictionaries, or equalities are rejected by the type checker". I disagree. Earlier I suggested "no variable bound by an or-pattern can have a type that mentions an existential variable bound by the or-pattern". That is much more friendly because you can still match against an existential constructor; you just can’t bind an existential variable.
>  
> from <https://github.com/ghc-proposals/ghc-proposals/pull/43#issuecomment-368933401 <https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fghc-proposals%2Fghc-proposals%2Fpull%2F43%23issuecomment-368933401&data=02%7C01%7Csimonpj%40microsoft.com%7C97aa991a9856484a940e08d5cd798afa%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636640844264157815&sdata=Mk975k%2B0RzaA5CnTu0vUcHbsJqU4QGaiouvHOOv1Z9s%3D&reserved=0>> still doesn’t seem to be addressed, or am I misunderstanding?
>  
> Overall, I propose to accept the proposal, possibly requiring that the above point be addressed.
>  
> What do you all think?
>  
> Cheers,
> Manuel
>  
> 
> _______________________________________________
> ghc-steering-committee mailing list
> ghc-steering-committee at haskell.org <mailto:ghc-steering-committee at haskell.org>
> https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee <https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee>
>  
> _______________________________________________
> ghc-steering-committee mailing list
> ghc-steering-committee at haskell.org
> https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-steering-committee/attachments/20180613/800dd66d/attachment.html>


More information about the ghc-steering-committee mailing list