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)