Я просто просмотрел следующий синтаксис в куске кода Haskell -
data A = A Int Int | B
m :: A -> Int
m a = case a of
A{} -> 1
_ -> 2
Что здесь делает A{}
? Соответствует ли {}
для любого количества аргументов?
У меня такое ощущение, что это связано с тем, что Haskell записывает синтаксические десугары в кучу функций и регулярный алгебраический тип данных. Это тот случай?