Like others, this caught me by surprise, but now I use it regularly. I use hlint to advise me on the quality of my Haskell code. I have learned many, many good ideas from hlint. As of a few years ago, hlint begins to recommend changing f (A3 _ _ _) = ... to f A3 {} = ... as soon as there are three or more components. On Thursday, November 30, 2023 at 09:12:09 AM EST, Brent Yorgey <byorgey@gmail.com> wrote: Yes, you're the last to learn about it; we were all wondering when you would figure it out. ;-) It's definitely "folklore", I can't remember where I first learned about it. I agree with Tom that it's surprising (but nice) that it works even with data types that were not declared using record syntax. I also always find it surprising that record update or matching binds more tightly than function application, so that no parentheses are needed. Sometimes I feel like it would actually look nicer to write f (A1 {}) = ... but then hlint yells at me. (Yes, I'm aware I can turn off individual hlint warnings. =) -Brent On Thu, Nov 30, 2023 at 7:47 AM Noon van der Silk <noonsilk@gmail.com> 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. _______________________________________________ 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.