summaryrefslogtreecommitdiff
path: root/src/lacweb.grm
diff options
context:
space:
mode:
Diffstat (limited to 'src/lacweb.grm')
-rw-r--r--src/lacweb.grm4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lacweb.grm b/src/lacweb.grm
index b961ba85..39d30349 100644
--- a/src/lacweb.grm
+++ b/src/lacweb.grm
@@ -43,7 +43,7 @@ val s = ErrorMsg.spanOf
| CON | LTYPE | VAL | FOLD | UNIT | KUNIT
| TYPE | NAME
| ARROW | LARROW | DARROW
- | FN | PLUSPLUS | DOLLAR
+ | FN | PLUSPLUS | DOLLAR | TWIDDLE
| STRUCTURE | SIGNATURE | STRUCT | SIG | END | FUNCTOR | WHERE | EXTERN | INCLUDE | OPEN
%nonterm
@@ -93,6 +93,7 @@ val s = ErrorMsg.spanOf
%right COMMA
%right ARROW LARROW
%right PLUSPLUS
+%nonassoc TWIDDLE
%nonassoc DOLLAR
%left DOT
@@ -194,6 +195,7 @@ cexp : capps (capps)
| FN SYMBOL DARROW cexp (CAbs (SYMBOL, NONE, cexp), s (FNleft, cexpright))
| FN SYMBOL DCOLON kind DARROW cexp (CAbs (SYMBOL, SOME kind, cexp), s (FNleft, cexpright))
+ | cterm TWIDDLE cterm DARROW cexp(CDisjoint (cterm1, cterm2, cexp), s (cterm1left, cexpright))
| LPAREN cexp RPAREN DCOLON kind (CAnnot (cexp, kind), s (LPARENleft, kindright))