Mercurial > urweb
comparison src/mono_util.sml @ 729:7c6b6c3c7b79
Some client-side error handling
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Thu, 16 Apr 2009 13:47:20 -0400 |
parents | 4c5796512edc |
children | 796e42c93c48 |
comparison
equal
deleted
inserted
replaced
728:2197f0e24a9f | 729:7c6b6c3c7b79 |
---|---|
323 fn e' => | 323 fn e' => |
324 S.map2 (mft t, | 324 S.map2 (mft t, |
325 fn t' => | 325 fn t' => |
326 (EUnurlify (e', t'), loc))) | 326 (EUnurlify (e', t'), loc))) |
327 | EJavaScript (m, e, NONE) => | 327 | EJavaScript (m, e, NONE) => |
328 S.map2 (mfe ctx e, | 328 S.bind2 (mfmode ctx m, |
329 fn e' => | 329 fn m' => |
330 (EJavaScript (m, e', NONE), loc)) | 330 S.map2 (mfe ctx e, |
331 fn e' => | |
332 (EJavaScript (m', e', NONE), loc))) | |
331 | EJavaScript (m, e, SOME e2) => | 333 | EJavaScript (m, e, SOME e2) => |
332 S.bind2 (mfe ctx e, | 334 S.bind2 (mfmode ctx m, |
333 fn e' => | 335 fn m' => |
334 S.map2 (mfe ctx e2, | 336 S.bind2 (mfe ctx e, |
335 fn e2' => | 337 fn e' => |
336 (EJavaScript (m, e', SOME e2'), loc))) | 338 S.map2 (mfe ctx e2, |
339 fn e2' => | |
340 (EJavaScript (m, e', SOME e2'), loc)))) | |
337 | 341 |
338 | ESignalReturn e => | 342 | ESignalReturn e => |
339 S.map2 (mfe ctx e, | 343 S.map2 (mfe ctx e, |
340 fn e' => | 344 fn e' => |
341 (ESignalReturn e', loc)) | 345 (ESignalReturn e', loc)) |
370 S.bind2 (mfe ctx s, | 374 S.bind2 (mfe ctx s, |
371 fn s' => | 375 fn s' => |
372 S.map2 (mfe ctx ek, | 376 S.map2 (mfe ctx ek, |
373 fn ek' => | 377 fn ek' => |
374 (ESleep (s', ek'), loc))) | 378 (ESleep (s', ek'), loc))) |
379 | |
380 and mfmode ctx mode = | |
381 case mode of | |
382 Attribute => S.return2 mode | |
383 | Script => S.return2 mode | |
384 | Source t => | |
385 S.map2 (mft t, | |
386 fn t' => Source t') | |
375 in | 387 in |
376 mfe | 388 mfe |
377 end | 389 end |
378 | 390 |
379 fun mapfold {typ = fc, exp = fe} = | 391 fun mapfold {typ = fc, exp = fe} = |