Mercurial > urweb
comparison src/mono_util.sml @ 2218:f7113855f3b7
More invalidation progress.
author | Ziv Scully <ziv@mit.edu> |
---|---|
date | Tue, 11 Nov 2014 04:25:20 -0500 |
parents | 98895243b5b6 |
children | 278e10629ba1 |
comparison
equal
deleted
inserted
replaced
2217:98b87d905601 | 2218:f7113855f3b7 |
---|---|
14 * | 14 * |
15 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | 15 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
16 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | 16 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
17 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | 17 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
18 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE | 18 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE |
19 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | 19 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
20 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | 20 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
21 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | 21 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
22 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | 22 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
23 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | 23 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
24 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | 24 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
279 S.bind2 (mfe ctx e, | 279 S.bind2 (mfe ctx e, |
280 fn e' => | 280 fn e' => |
281 S.map2 (mft t, | 281 S.map2 (mft t, |
282 fn t' => | 282 fn t' => |
283 (ERedirect (e', t'), loc))) | 283 (ERedirect (e', t'), loc))) |
284 | 284 |
285 | EStrcat (e1, e2) => | 285 | EStrcat (e1, e2) => |
286 S.bind2 (mfe ctx e1, | 286 S.bind2 (mfe ctx e1, |
287 fn e1' => | 287 fn e1' => |
288 S.map2 (mfe ctx e2, | 288 S.map2 (mfe ctx e2, |
289 fn e2' => | 289 fn e2' => |
622 S.map2 (mfe ctx e, | 622 S.map2 (mfe ctx e, |
623 fn e' => | 623 fn e' => |
624 (x, n, t', e', s))) | 624 (x, n, t', e', s))) |
625 in | 625 in |
626 mfd | 626 mfd |
627 end | 627 end |
628 | 628 |
629 fun mapfold {typ = fc, exp = fe, decl = fd} = | 629 fun mapfold {typ = fc, exp = fe, decl = fd} = |
630 mapfoldB {typ = fc, | 630 mapfoldB {typ = fc, |
631 exp = fn () => fe, | 631 exp = fn () => fe, |
632 decl = fn () => fd, | 632 decl = fn () => fd, |