diff src/monoize.sml @ 100:f0f59e918cac

page declaration, up through monoize
author Adam Chlipala <adamc@hcoop.net>
date Thu, 10 Jul 2008 10:11:35 -0400
parents 274116d1a4cd
children 5f04adf47f48
line wrap: on
line diff
--- a/src/monoize.sml	Thu Jul 10 09:24:43 2008 -0400
+++ b/src/monoize.sml	Thu Jul 10 10:11:35 2008 -0400
@@ -164,6 +164,13 @@
             L.DCon _ => NONE
           | L.DVal (x, n, t, e) => SOME (Env.pushENamed env x n t (SOME e),
                                          (L'.DVal (x, n, monoType env t, monoExp env e), loc))
+          | L.DPage ((c, _), e) =>
+            (case c of
+                 L.CRecord (_, vs) => SOME (env,
+                                            (L'.DPage (map (fn (nm, t) => (monoName env nm,
+                                                                           monoType env t)) vs,
+                                                       monoExp env e), loc))
+               | _ => poly ())
     end
 
 fun monoize env ds =