Mercurial > urweb
comparison src/core_util.sml @ 802:ef6de4075dc1
Fix a Core_untangle bug that missed closure variable references; XHTMLize
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Sat, 16 May 2009 12:41:33 -0400 |
parents | 6271f0e3c272 |
children | 61a1f5c5ae2c |
comparison
equal
deleted
inserted
replaced
801:5f49a6b759cb | 802:ef6de4075dc1 |
---|---|
938 fn vis' => | 938 fn vis' => |
939 (DValRec vis', loc)) | 939 (DValRec vis', loc)) |
940 end | 940 end |
941 | DExport _ => S.return2 dAll | 941 | DExport _ => S.return2 dAll |
942 | DTable (x, n, c, s, pe, pc, ce, cc) => | 942 | DTable (x, n, c, s, pe, pc, ce, cc) => |
943 S.bind2 (mfc ctx c, | 943 let |
944 fn c' => | 944 val loc = #2 ce |
945 S.bind2 (mfe ctx pe, | 945 val ct = (CFfi ("Basis", "sql_table"), loc) |
946 fn pe' => | 946 val ct = (CApp (ct, (CConcat (pc, cc), loc)), loc) |
947 S.bind2 (mfc ctx pc, | 947 val ct = (CApp (ct, cc), loc) |
948 fn pc' => | 948 val ctx' = bind (ctx, NamedE (x, n, ct, NONE, s)) |
949 S.bind2 (mfe ctx ce, | 949 in |
950 fn ce' => | 950 S.bind2 (mfc ctx c, |
951 S.map2 (mfc ctx cc, | 951 fn c' => |
952 fn cc' => | 952 S.bind2 (mfe ctx' pe, |
953 (DTable (x, n, c', s, pe', pc', ce', cc'), loc)))))) | 953 fn pe' => |
954 S.bind2 (mfc ctx pc, | |
955 fn pc' => | |
956 S.bind2 (mfe ctx' ce, | |
957 fn ce' => | |
958 S.map2 (mfc ctx cc, | |
959 fn cc' => | |
960 (DTable (x, n, c', s, pe', pc', ce', cc'), loc)))))) | |
961 end | |
954 | DSequence _ => S.return2 dAll | 962 | DSequence _ => S.return2 dAll |
955 | DView (x, n, s, e, c) => | 963 | DView (x, n, s, e, c) => |
956 S.bind2 (mfe ctx e, | 964 S.bind2 (mfe ctx e, |
957 fn e' => | 965 fn e' => |
958 S.map2 (mfc ctx c, | 966 S.map2 (mfc ctx c, |