summaryrefslogtreecommitdiff
path: root/src/lacweb.grm
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2008-06-26 09:48:54 -0400
committerGravatar Adam Chlipala <adamc@hcoop.net>2008-06-26 09:48:54 -0400
commitbef69954307005832dca731aff9a7b008c88c8d8 (patch)
tree801e896f527636ab21211f11839f3c1d20f5ac10 /src/lacweb.grm
parentb03ac1efc8ac5197688a97d1b8b27106654d504d (diff)
Elaborating cfold
Diffstat (limited to 'src/lacweb.grm')
-rw-r--r--src/lacweb.grm6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/lacweb.grm b/src/lacweb.grm
index e36630ae..c1cf6712 100644
--- a/src/lacweb.grm
+++ b/src/lacweb.grm
@@ -40,7 +40,7 @@ val s = ErrorMsg.spanOf
| SYMBOL of string | CSYMBOL of string
| LPAREN | RPAREN | LBRACK | RBRACK | LBRACE | RBRACE
| EQ | COMMA | COLON | DCOLON | TCOLON | DOT | HASH | UNDER | UNDERUNDER
- | CON | LTYPE | VAL
+ | CON | LTYPE | VAL | FOLD
| TYPE | NAME
| ARROW | LARROW | DARROW
| FN | PLUSPLUS | DOLLAR
@@ -190,7 +190,8 @@ cexp : capps (capps)
| cexp PLUSPLUS cexp (CConcat (cexp1, cexp2), s (cexp1left, cexp1right))
- | FN SYMBOL DCOLON kind DARROW cexp (CAbs (SYMBOL, kind, cexp), s (FNleft, cexpright))
+ | 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))
| LPAREN cexp RPAREN DCOLON kind (CAnnot (cexp, kind), s (LPARENleft, kindright))
@@ -214,6 +215,7 @@ cterm : LPAREN cexp RPAREN (#1 cexp, s (LPARENleft, RPARENright))
| path (CVar path, s (pathleft, pathright))
| UNDER (CWild (KWild, s (UNDERleft, UNDERright)), s (UNDERleft, UNDERright))
+ | FOLD (CFold, s (FOLDleft, FOLDright))
rcon : ([])
| ident EQ cexp ([(ident, cexp)])