b50fa58f9aa91b77cb96ba1327348ef89e6da649
[ghc-hetmet.git] / ghc / compiler / parser / match.ugn
1 %{
2 #include "hspincl.h"
3 %}
4 %{{
5 module U_match where
6
7 #include "HsVersions.h"
8
9 import UgenUtil
10
11 import U_list
12 import U_maybe
13 import U_grhsb
14 %}}
15
16 /* For case we have                     pmatch [pat] sig grhsb
17    For lambda we have                   pmatch pats  sig grhsb
18    For a function binding we have       pamtch [pat] sig grhsb
19         In the function binding case, the 'pat' is actually
20         an appliation of form (f p1 .. pn), or perhaps
21                               (p1 `op` p2) p3 ... pn
22 */
23   
24 type match;
25         pmatch          : < gmpats : list;      /* of patterns */
26                             gmsig  : maybe;     /* maybe sig */
27                             gmrhsb : grhsb;     /* guarded RHSs */
28                           >;
29 end;
30