diff src/elaborate.sml @ 822:d4e811beb8eb

fn-pattern code in but not tested yet; hello compiles
author Adam Chlipala <adamc@hcoop.net>
date Thu, 28 May 2009 10:16:50 -0400
parents 395a5d450cc0
children 7f871c03e3a1
line wrap: on
line diff
--- a/src/elaborate.sml	Tue May 26 12:25:06 2009 -0400
+++ b/src/elaborate.sml	Thu May 28 10:16:50 2009 -0400
@@ -1291,7 +1291,15 @@
                   (L'.TRecord c, loc)),
                  (env, bound))
             end
-                                           
+
+          | L.PAnnot (p, t) =>
+            let
+                val ((p', pt), (env, bound)) = elabPat (p, (env, bound))
+                val (t', k, _) = elabCon (env, D.empty) t
+            in
+                checkPatCon env p' pt t';
+                ((p', t'), (env, bound))
+            end   
     end
 
 (* This exhaustiveness checking follows Luc Maranget's paper "Warnings for pattern matching." *)