changeset 492:4a241d108a2c

Handle nullary transaction pages; avoid marking up headers array when reading cookies
author Adam Chlipala <adamc@hcoop.net>
date Tue, 11 Nov 2008 18:39:38 -0500
parents 0fd65c50e0e2
children ae03d09043c1
files src/cjr_print.sml src/tag.sml
diffstat 2 files changed, 7 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/src/cjr_print.sml	Tue Nov 11 16:51:45 2008 -0500
+++ b/src/cjr_print.sml	Tue Nov 11 18:39:38 2008 -0500
@@ -1481,9 +1481,9 @@
         in
             box [string "({",
                  newline,
-                 string "uw_Basis_string request = ",
+                 string "uw_Basis_string request = uw_Basis_strdup(ctx, ",
                  p_exp env e,
-                 string ";",
+                 string ");",
                  newline,
                  newline,
                  string "(request ? ",
--- a/src/tag.sml	Tue Nov 11 16:51:45 2008 -0500
+++ b/src/tag.sml	Tue Nov 11 18:39:38 2008 -0500
@@ -184,6 +184,8 @@
                     val newDs = map
                                     (fn (ek, f, cn) =>
                                         let
+                                            val unit = (TRecord (CRecord ((KType, loc), []), loc), loc)
+
                                             fun unravel (all as (t, _)) =
                                                 case t of
                                                     TFun (dom, ran) =>
@@ -197,15 +199,14 @@
                                             val (fnam, t, _, tag) = E.lookupENamed env f
                                             val (args, result) = unravel t
 
-                                            val unit = (TRecord (CRecord ((KType, loc), []), loc), loc)
-
                                             val (abs, t) =
                                                 case args of
                                                     [] =>
                                                     let
-                                                        val body = (EWrite (ENamed f, loc), loc)
+                                                        val app = (EApp ((ENamed f, loc), (ERecord [], loc)), loc)
+                                                        val body = (EWrite app, loc)
                                                     in
-                                                        ((EAbs ("x", unit, unit, body), loc),
+                                                        (body,
                                                          (TFun (unit, unit), loc))
                                                     end
                                                   | _ =>