[Haskell-cafe] Strange quirk with {} syntax?

David Kraeutmann kane at kane.cx
Thu Nov 30 13:58:43 UTC 2023


Yes. You're just using record pattern match with no records. Why would 
it be unexpected?

On 30.11.2023 14:46, Noon van der Silk wrote:
> Sometimes I have a type like:
>
>     data A = A1 Int | A2 Int Int
>
> Then if I want to do pattern matching and ignore the parameters I do:
>
>     f (A1 _) = ..
>     f (A2 _ _) = ...
>
> But that's annoying; I need to remember how many parameters each one has!
>
> Yesterday I learned I can just do this:
>
>     f A1 {} = ...
>     f A2 {} = ...
>
> And GHC is happy.
>
> Is this expected? Am I the last to learn about this trick?
>
> -- 
> Noon van der Silk, ن
>
> http://silky.github.io/
>
> "My programming language is kindness."
>
> _______________________________________________
> 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/20231130/6878454a/attachment.html>


More information about the Haskell-Cafe mailing list