Basic type-checking
[hcoop/domtool2.git] / src / domtool.grm
index 102349e..1ad3a5b 100644 (file)
@@ -70,7 +70,9 @@ open Ast
 file   : exp                               (exp)
 
 exp    : apps                              (apps)
 file   : exp                               (exp)
 
 exp    : apps                              (apps)
-       | BSLASH SYMBOL COLON LPAREN typ RPAREN ARROW exp (ELam (SYMBOL, typ, exp), (BSLASHleft, expright))
+       | BSLASH SYMBOL COLON LPAREN typ RPAREN ARROW exp (ELam (SYMBOL, SOME typ, exp),
+                                                         (BSLASHleft, expright))
+       | BSLASH SYMBOL ARROW exp           (ELam (SYMBOL, NONE, exp), (BSLASHleft, expright))
        | CSYMBOL EQ exp                    (ESet (CSYMBOL, exp), (CSYMBOLleft, expright))
        | exp SEMI exp                      (let
                                                val ls = case #1 exp2 of
        | CSYMBOL EQ exp                    (ESet (CSYMBOL, exp), (CSYMBOLleft, expright))
        | exp SEMI exp                      (let
                                                val ls = case #1 exp2 of