]> matita.cs.unibo.it Git - helm.git/commitdiff
New lighter syntax for "let rec".
authorClaudio Sacerdoti Coen <claudio.sacerdoticoen@unibo.it>
Wed, 8 Jun 2005 16:11:00 +0000 (16:11 +0000)
committerClaudio Sacerdoti Coen <claudio.sacerdoticoen@unibo.it>
Wed, 8 Jun 2005 16:11:00 +0000 (16:11 +0000)
helm/ocaml/cic_disambiguation/cicTextualParser2.ml

index 3d7699ecde14207b2d3e7ad4410321d927f1076a..fda6d14e636eac74aefc6da73e0b6a22d7dda114 100644 (file)
@@ -175,8 +175,8 @@ EXTEND
     [ defs = LIST1 [
         name = IDENT;
         args = LIST1 [
-          PAREN "(" ; names = LIST1 IDENT SEP SYMBOL ","; SYMBOL ":";
-          ty = term; PAREN ")" ->
+          PAREN "(" ; names = LIST1 IDENT SEP SYMBOL ",";
+          ty = OPT [ SYMBOL ":"; ty = term -> ty ] ; PAREN ")" ->
             (names, ty)
         ];
         index_name = OPT [ IDENT "on"; idx = IDENT -> idx ];
@@ -195,6 +195,12 @@ EXTEND
                 list_of_binder binder ty 
                   (binder_of_arg_list binder final_term tl) l
           in
+          let args = 
+           List.map
+            (function
+                names,Some ty -> names,ty
+              | names,None -> names,CicAst.Implicit
+            ) args in
           let t1' = binder_of_arg_list `Lambda t1 args in
           let ty' = 
             match ty with