Mercurial > urweb
diff src/corify.sml @ 1347:b106ca8200b1
postBody type
author | Adam Chlipala <adam@chlipala.net> |
---|---|
date | Sat, 18 Dec 2010 10:56:31 -0500 |
parents | 6c2e565adca6 |
children | 913d9c2f55c9 |
line wrap: on
line diff
--- a/src/corify.sml Thu Dec 16 18:40:49 2010 -0500 +++ b/src/corify.sml Sat Dec 18 10:56:31 2010 -0500 @@ -1011,11 +1011,19 @@ t, tf, e), loc), (L.TFun (t, tf), loc))) ((L.EApp (ef, ea), loc), ranT) args + + val expKind = if List.exists (fn t => + case corifyCon st t of + (L'.CFfi ("Basis", "postBody"), _) => true + | _ => false) args then + L'.Extern L'.ReadCookieWrite + else + L'.Link in ((L.DVal ("wrap_" ^ s, 0, tf, e), loc) :: wds, (fn st => case #1 (corifyExp st (L.EModProj (en, [], "wrap_" ^ s), loc)) of - L'.ENamed n => (L'.DExport (L'.Link, n, false), loc) + L'.ENamed n => (L'.DExport (expKind, n, false), loc) | _ => raise Fail "Corify: Value to export didn't corify properly") :: eds) end