Mercurial > urweb
comparison src/checknest.sml @ 1932:98895243b5b6
Change handling of returned text blobs, to activate the normal EWrite optimizations
author | Adam Chlipala <adam@chlipala.net> |
---|---|
date | Wed, 11 Dec 2013 18:22:10 -0500 |
parents | 0577be31a435 |
children |
comparison
equal
deleted
inserted
replaced
1931:1a04b1edded2 | 1932:98895243b5b6 |
---|---|
54 | EField (e, _) => eu e | 54 | EField (e, _) => eu e |
55 | 55 |
56 | ECase (e, pes, _) => foldl (fn ((_, e), s) => IS.union (eu e, s)) (eu e) pes | 56 | ECase (e, pes, _) => foldl (fn ((_, e), s) => IS.union (eu e, s)) (eu e) pes |
57 | 57 |
58 | EError (e, _) => eu e | 58 | EError (e, _) => eu e |
59 | EReturnBlob {blob, mimeType, ...} => IS.union (eu blob, eu mimeType) | 59 | EReturnBlob {blob = NONE, mimeType, ...} => eu mimeType |
60 | EReturnBlob {blob = SOME blob, mimeType, ...} => IS.union (eu blob, eu mimeType) | |
60 | ERedirect (e, _) => eu e | 61 | ERedirect (e, _) => eu e |
61 | 62 |
62 | EWrite e => eu e | 63 | EWrite e => eu e |
63 | ESeq (e1, e2) => IS.union (eu e1, eu e2) | 64 | ESeq (e1, e2) => IS.union (eu e1, eu e2) |
64 | ELet (_, _, e1, e2) => IS.union (eu e1, eu e2) | 65 | ELet (_, _, e1, e2) => IS.union (eu e1, eu e2) |
116 | EField (e, f) => (EField (ae e, f), loc) | 117 | EField (e, f) => (EField (ae e, f), loc) |
117 | 118 |
118 | ECase (e, pes, ts) => (ECase (ae e, map (fn (p, e) => (p, ae e)) pes, ts), loc) | 119 | ECase (e, pes, ts) => (ECase (ae e, map (fn (p, e) => (p, ae e)) pes, ts), loc) |
119 | 120 |
120 | EError (e, t) => (EError (ae e, t), loc) | 121 | EError (e, t) => (EError (ae e, t), loc) |
121 | EReturnBlob {blob, mimeType, t} => (EReturnBlob {blob = ae blob, mimeType = ae mimeType, t = t}, loc) | 122 | EReturnBlob {blob = NONE, mimeType, t} => (EReturnBlob {blob = NONE, mimeType = ae mimeType, t = t}, loc) |
123 | EReturnBlob {blob = SOME blob, mimeType, t} => (EReturnBlob {blob = SOME (ae blob), mimeType = ae mimeType, t = t}, loc) | |
122 | ERedirect (e, t) => (ERedirect (ae e, t), loc) | 124 | ERedirect (e, t) => (ERedirect (ae e, t), loc) |
123 | 125 |
124 | EWrite e => (EWrite (ae e), loc) | 126 | EWrite e => (EWrite (ae e), loc) |
125 | ESeq (e1, e2) => (ESeq (ae e1, ae e2), loc) | 127 | ESeq (e1, e2) => (ESeq (ae e1, ae e2), loc) |
126 | ELet (x, t, e1, e2) => (ELet (x, t, ae e1, ae e2), loc) | 128 | ELet (x, t, e1, e2) => (ELet (x, t, ae e1, ae e2), loc) |