comparison src/monoize.sml @ 1371:4e5ca2a77a4d

Fix time comparison operators; safer saving of queryStrings
author Adam Chlipala <adam@chlipala.net>
date Mon, 27 Dec 2010 12:08:00 -0500
parents 44a12a321150
children d328983dc5a6
comparison
equal deleted inserted replaced
1370:44a12a321150 1371:4e5ca2a77a4d
1110 fun boolBin s = 1110 fun boolBin s =
1111 (L'.EAbs ("x", (L'.TFfi ("Basis", "bool"), loc), 1111 (L'.EAbs ("x", (L'.TFfi ("Basis", "bool"), loc),
1112 (L'.TFun ((L'.TFfi ("Basis", "bool"), loc), (L'.TFfi ("Basis", "bool"), loc)), loc), 1112 (L'.TFun ((L'.TFfi ("Basis", "bool"), loc), (L'.TFfi ("Basis", "bool"), loc)), loc),
1113 (L'.EAbs ("y", (L'.TFfi ("Basis", "bool"), loc), 1113 (L'.EAbs ("y", (L'.TFfi ("Basis", "bool"), loc),
1114 (L'.TFfi ("Basis", "bool"), loc), 1114 (L'.TFfi ("Basis", "bool"), loc),
1115 (L'.EFfiApp ("Basis", s, [(L'.ERel 1, loc), (L'.ERel 0, loc)]), loc)), loc)), loc) 1115 (L'.EBinop (L'.NotInt, s, (L'.ERel 1, loc), (L'.ERel 0, loc)), loc)), loc)), loc)
1116 in 1116 in
1117 ordEx ((L'.TFfi ("Basis", "bool"), loc), 1117 ordEx ((L'.TFfi ("Basis", "bool"), loc),
1118 boolBin "lt_time", 1118 boolBin "<",
1119 boolBin "le_time") 1119 boolBin "<=")
1120 end 1120 end
1121 | L.EFfi ("Basis", "ord_string") => 1121 | L.EFfi ("Basis", "ord_string") =>
1122 let 1122 let
1123 fun boolBin s = 1123 fun boolBin s =
1124 (L'.EAbs ("x", (L'.TFfi ("Basis", "string"), loc), 1124 (L'.EAbs ("x", (L'.TFfi ("Basis", "string"), loc),
1153 fun boolBin s = 1153 fun boolBin s =
1154 (L'.EAbs ("x", (L'.TFfi ("Basis", "time"), loc), 1154 (L'.EAbs ("x", (L'.TFfi ("Basis", "time"), loc),
1155 (L'.TFun ((L'.TFfi ("Basis", "time"), loc), (L'.TFfi ("Basis", "bool"), loc)), loc), 1155 (L'.TFun ((L'.TFfi ("Basis", "time"), loc), (L'.TFfi ("Basis", "bool"), loc)), loc),
1156 (L'.EAbs ("y", (L'.TFfi ("Basis", "time"), loc), 1156 (L'.EAbs ("y", (L'.TFfi ("Basis", "time"), loc),
1157 (L'.TFfi ("Basis", "bool"), loc), 1157 (L'.TFfi ("Basis", "bool"), loc),
1158 (L'.EBinop (L'.NotInt, s, (L'.ERel 1, loc), (L'.ERel 0, loc)), loc)), loc)), loc) 1158 (L'.EFfiApp ("Basis", s, [(L'.ERel 1, loc), (L'.ERel 0, loc)]), loc)), loc)), loc)
1159 in 1159 in
1160 ordEx ((L'.TFfi ("Basis", "time"), loc), 1160 ordEx ((L'.TFfi ("Basis", "time"), loc),
1161 boolBin "lt_time", 1161 boolBin "lt_time",
1162 boolBin "le_time") 1162 boolBin "le_time")
1163 end 1163 end