[Haskell-cafe] incomplete-uni-patterns
Jeff Clites
jclites at mac.com
Thu Jan 26 05:49:25 UTC 2023
That was my thinking with using an explicit lazy pattern match indication:
let ~(Just a) = …
It seems to me that this shouldn’t warn (though apparently it does), since it’s overly opting in to a non-exhaustive match.
Jeff
> On Jan 25, 2023, at 9:08 PM, David Feuer <david.feuer at gmail.com> wrote:
>
>
> It seems to me that instead of working around this, we should add a pragma to suppress the warning at the pattern site. Maybe something like
>
> let
> {-# PARTIAL_MATCH #-}
> Just a = blah blah
>
> That way GHC can see that you noticed the partial match and that you're okay with it.
>
>> On Wed, Jan 25, 2023, 7:06 PM Kazu Yamamoto (山本和彦) via Haskell-Cafe <haskell-cafe at haskell.org> wrote:
>> Hello,
>>
>> The recent GHC added incomplete-uni-patterns to the -Wall option.
>> So, we have a waning with the following code:
>>
>> let [addr,port] = args
>>
>> To avoid this, I changed the code to:
>>
>> let addr = head args
>> port = head $ tail args
>>
>> In my opinion, this seems Lisp rather than Haskell.
>>
>> Also, I need to avoid:
>>
>> let Just val = mval
>>
>> Rahter, I use:
>>
>> let val = fromJust mval
>>
>> This is annoying to me.
>>
>> How do you get along with incomplete-uni-patterns?
>> I would like to know the best current practice.
>>
>> --Kazu
>>
>>
>> _______________________________________________
>> Haskell-Cafe mailing list
>> To (un)subscribe, modify options or view archives go to:
>> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
>> Only members subscribed via the mailman list are allowed to post.
> _______________________________________________
> Haskell-Cafe mailing list
> To (un)subscribe, modify options or view archives go to:
> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
> Only members subscribed via the mailman list are allowed to post.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20230125/be04ea3d/attachment.html>
More information about the Haskell-Cafe
mailing list