comparison src/tag.sml @ 1663:0577be31a435

First part of changes to avoid depending on C function call argument order of evaluation (omitting normal Ur function calls, so far)
author Adam Chlipala <adam@chlipala.net>
date Sat, 07 Jan 2012 15:56:22 -0500
parents ca3b73a7b4d0
children a1380fc15cb5
comparison
equal deleted inserted replaced
1662:edf86cef0dba 1663:0577be31a435
168 tag), loc), 168 tag), loc),
169 xml), s) 169 xml), s)
170 end 170 end
171 | _ => (e, s)) 171 | _ => (e, s))
172 172
173 | EFfiApp ("Basis", "url", [(ERel 0, _)]) => (e, s) 173 | EFfiApp ("Basis", "url", [((ERel 0, _), _)]) => (e, s)
174 174
175 | EFfiApp ("Basis", "url", [e]) => 175 | EFfiApp ("Basis", "url", [(e, t)]) =>
176 let 176 let
177 val (e, s) = tagIt (e, Link, "Url", s) 177 val (e, s) = tagIt (e, Link, "Url", s)
178 in 178 in
179 (EFfiApp ("Basis", "url", [e]), s) 179 (EFfiApp ("Basis", "url", [(e, t)]), s)
180 end 180 end
181 181
182 | EFfiApp ("Basis", "effectfulUrl", [(ERel 0, _)]) => (e, s) 182 | EFfiApp ("Basis", "effectfulUrl", [((ERel 0, _), _)]) => (e, s)
183 183
184 | EFfiApp ("Basis", "effectfulUrl", [e]) => 184 | EFfiApp ("Basis", "effectfulUrl", [(e, t)]) =>
185 let 185 let
186 val (e, s) = tagIt (e, Extern ReadCookieWrite, "Url", s) 186 val (e, s) = tagIt (e, Extern ReadCookieWrite, "Url", s)
187 in 187 in
188 (EFfiApp ("Basis", "url", [e]), s) 188 (EFfiApp ("Basis", "url", [(e, t)]), s)
189 end 189 end
190 190
191 | EApp ((ENamed n, _), e') => 191 | EApp ((ENamed n, _), e') =>
192 let 192 let
193 val (_, _, eo, _) = E.lookupENamed env n 193 val (_, _, eo, _) = E.lookupENamed env n
194 in 194 in
195 case eo of 195 case eo of
196 SOME (EAbs (_, _, _, (EFfiApp ("Basis", "url", [(ERel 0, _)]), _)), _) => 196 SOME (EAbs (_, _, _, (EFfiApp ("Basis", "url", [((ERel 0, _), t)]), _)), _) =>
197 let 197 let
198 val (e, s) = tagIt (e', Link, "Url", s) 198 val (e, s) = tagIt (e', Link, "Url", s)
199 in 199 in
200 (EFfiApp ("Basis", "url", [e]), s) 200 (EFfiApp ("Basis", "url", [(e, t)]), s)
201 end 201 end
202 | _ => (e, s) 202 | _ => (e, s)
203 end 203 end
204 204
205 | _ => (e, s) 205 | _ => (e, s)