Mercurial > urweb
comparison src/mono_util.sml @ 2221:278e10629ba1
Basic field-resolution invalidation.
author | Ziv Scully <ziv@mit.edu> |
---|---|
date | Sat, 29 Nov 2014 03:37:59 -0500 |
parents | f7113855f3b7 |
children | 25874084bf1f |
comparison
equal
deleted
inserted
replaced
2220:794017f378de | 2221:278e10629ba1 |
---|---|
312 | EClosure (n, es) => | 312 | EClosure (n, es) => |
313 S.map2 (ListUtil.mapfold (mfe ctx) es, | 313 S.map2 (ListUtil.mapfold (mfe ctx) es, |
314 fn es' => | 314 fn es' => |
315 (EClosure (n, es'), loc)) | 315 (EClosure (n, es'), loc)) |
316 | 316 |
317 | EQuery {exps, tables, state, query, body, initial} => | 317 | EQuery {exps, tables, state, query, body, initial, sqlcacheInfo} => |
318 S.bind2 (ListUtil.mapfold (fn (x, t) => | 318 S.bind2 (ListUtil.mapfold (fn (x, t) => |
319 S.map2 (mft t, | 319 S.map2 (mft t, |
320 fn t' => (x, t'))) exps, | 320 fn t' => (x, t'))) exps, |
321 fn exps' => | 321 fn exps' => |
322 S.bind2 (ListUtil.mapfold (fn (x, xts) => | 322 S.bind2 (ListUtil.mapfold (fn (x, xts) => |
332 fn query' => | 332 fn query' => |
333 S.bind2 (mfe (bind (bind (ctx, RelE ("r", dummyt)), | 333 S.bind2 (mfe (bind (bind (ctx, RelE ("r", dummyt)), |
334 RelE ("acc", dummyt))) | 334 RelE ("acc", dummyt))) |
335 body, | 335 body, |
336 fn body' => | 336 fn body' => |
337 S.map2 (mfe ctx initial, | 337 (* ASK: is this the right thing to do? *) |
338 S.bind2 (mfe ctx initial, | |
338 fn initial' => | 339 fn initial' => |
339 (EQuery {exps = exps', | 340 S.map2 (mfe (bind (ctx, RelE ("queryResult", dummyt))) |
340 tables = tables', | 341 sqlcacheInfo, |
341 state = state', | 342 fn sqlcacheInfo' => |
342 query = query', | 343 (EQuery {exps = exps', |
343 body = body', | 344 tables = tables', |
344 initial = initial'}, | 345 state = state', |
345 loc))))))) | 346 query = query', |
347 body = body', | |
348 initial = initial', | |
349 sqlcacheInfo = sqlcacheInfo}, | |
350 loc)))))))) | |
346 | 351 |
347 | EDml (e, fm) => | 352 | EDml (e, fm) => |
348 S.map2 (mfe ctx e, | 353 S.map2 (mfe ctx e, |
349 fn e' => | 354 fn e' => |
350 (EDml (e', fm), loc)) | 355 (EDml (e', fm), loc)) |