diff src/core_util.sml @ 100:f0f59e918cac

page declaration, up through monoize
author Adam Chlipala <adamc@hcoop.net>
date Thu, 10 Jul 2008 10:11:35 -0400
parents 275aaeb73f1f
children 5f04adf47f48
line wrap: on
line diff
--- a/src/core_util.sml	Thu Jul 10 09:24:43 2008 -0400
+++ b/src/core_util.sml	Thu Jul 10 10:11:35 2008 -0400
@@ -376,6 +376,12 @@
                          S.map2 (mfe ctx e,
                               fn e' =>
                                  (DVal (x, n, t', e'), loc)))
+              | DPage (c, e) =>
+                S.bind2 (mfc ctx c,
+                      fn c' =>
+                         S.map2 (mfe ctx e,
+                              fn e' =>
+                                 (DPage (c', e'), loc)))
     in
         mfd
     end    
@@ -412,11 +418,11 @@
                 S.bind2 (mfd ctx d,
                          fn d' =>
                             let
-                                val b =
+                                val ctx' =
                                     case #1 d' of
-                                        DCon (x, n, k, c) => NamedC (x, n, k, SOME c)
-                                      | DVal (x, n, t, e) => NamedE (x, n, t, SOME e)
-                                val ctx' = bind (ctx, b)
+                                        DCon (x, n, k, c) => bind (ctx, NamedC (x, n, k, SOME c))
+                                      | DVal (x, n, t, e) => bind (ctx, NamedE (x, n, t, SOME e))
+                                      | DPage _ => ctx
                             in
                                 S.map2 (mff ctx' ds',
                                      fn ds' =>