summaryrefslogtreecommitdiff
path: root/src/lacweb.grm
diff options
context:
space:
mode:
Diffstat (limited to 'src/lacweb.grm')
-rw-r--r--src/lacweb.grm6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/lacweb.grm b/src/lacweb.grm
index 12cc0378..0c491bc3 100644
--- a/src/lacweb.grm
+++ b/src/lacweb.grm
@@ -39,7 +39,7 @@ val s = ErrorMsg.spanOf
| STRING of string | INT of Int64.int | FLOAT of Real64.real
| SYMBOL of string | CSYMBOL of string
| LPAREN | RPAREN | LBRACK | RBRACK | LBRACE | RBRACE
- | EQ | COMMA | COLON | DCOLON | TCOLON | DOT | HASH
+ | EQ | COMMA | COLON | DCOLON | TCOLON | DOT | HASH | UNDER | UNDERUNDER
| CON | LTYPE | VAL
| TYPE | NAME
| ARROW | LARROW | DARROW
@@ -102,6 +102,7 @@ kind : TYPE (KType, s (TYPEleft, TYPEright))
| LBRACE kind RBRACE (KRecord kind, s (LBRACEleft, RBRACEright))
| kind ARROW kind (KArrow (kind1, kind2), s (kind1left, kind2right))
| LPAREN kind RPAREN (#1 kind, s (LPARENleft, RPARENright))
+ | UNDERUNDER (KWild, s (UNDERUNDERleft, UNDERUNDERright))
capps : cterm (cterm)
| capps cterm (CApp (capps, cterm), s (cappsleft, ctermright))
@@ -116,6 +117,8 @@ cexp : capps (capps)
| LPAREN cexp RPAREN DCOLON kind (CAnnot (cexp, kind), s (LPARENleft, kindright))
+ | UNDER DCOLON kind (CWild kind, s (UNDERleft, UNDERright))
+
kcolon : DCOLON (Explicit)
| TCOLON (Implicit)
@@ -127,6 +130,7 @@ cterm : LPAREN cexp RPAREN (#1 cexp, s (LPARENleft, RPARENright))
| HASH CSYMBOL (CName CSYMBOL, s (HASHleft, CSYMBOLright))
| SYMBOL (CVar SYMBOL, s (SYMBOLleft, SYMBOLright))
+ | UNDER (CWild (KWild, s (UNDERleft, UNDERright)), s (UNDERleft, UNDERright))
rcon : ([])
| ident EQ cexp ([(ident, cexp)])