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.