Mercurial > urweb
comparison src/monoize.sml @ 910:8e540df3294d
grid1 compiles but gets stuck in JS
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Tue, 25 Aug 2009 13:57:56 -0400 |
parents | ed06e25c70ef |
children | b873feb3eb52 |
comparison
equal
deleted
inserted
replaced
909:1d3f60e74ec7 | 910:8e540df3294d |
---|---|
3160 val call = foldl (fn (e, call) => (L'.EStrcat (call, e), loc)) | 3160 val call = foldl (fn (e, call) => (L'.EStrcat (call, e), loc)) |
3161 (L'.EPrim (Prim.String name), loc) call | 3161 (L'.EPrim (Prim.String name), loc) call |
3162 | 3162 |
3163 val (ek, fm) = monoExp (env, st, fm) ek | 3163 val (ek, fm) = monoExp (env, st, fm) ek |
3164 | 3164 |
3165 val unRpced = foldl (fn (e1, e2) => (L'.EApp (e2, e1), loc)) (L'.ENamed n, loc) es | |
3166 val unRpced = (L'.EApp (unRpced, (L'.ERecord [], loc)), loc) | |
3167 val unRpced = (L'.EApp (ek, unRpced), loc) | |
3168 val unRpced = (L'.EApp (unRpced, (L'.ERecord [], loc)), loc) | |
3169 val unit = (L'.TRecord [], loc) | 3165 val unit = (L'.TRecord [], loc) |
3170 | 3166 |
3171 val ekf = (L'.EAbs ("f", | 3167 val ekf = (L'.EAbs ("f", |
3172 (L'.TFun (t, | 3168 (L'.TFun (t, |
3173 (L'.TFun ((L'.TRecord [], loc), | 3169 (L'.TFun ((L'.TRecord [], loc), |
3184 val eff = if IS.member (!readCookie, n) then | 3180 val eff = if IS.member (!readCookie, n) then |
3185 L'.ReadCookieWrite | 3181 L'.ReadCookieWrite |
3186 else | 3182 else |
3187 L'.ReadOnly | 3183 L'.ReadOnly |
3188 | 3184 |
3189 val e = (L'.EServerCall (call, ek, t, eff, unRpced), loc) | 3185 val e = (L'.EServerCall (call, ek, t, eff), loc) |
3190 val e = liftExpInExp 0 e | 3186 val e = liftExpInExp 0 e |
3191 val e = (L'.EAbs ("_", unit, unit, e), loc) | 3187 val e = (L'.EAbs ("_", unit, unit, e), loc) |
3192 in | 3188 in |
3193 (e, fm) | 3189 (e, fm) |
3194 end | 3190 end |