summaryrefslogtreecommitdiff
path: root/src/corify.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2008-07-10 14:02:54 -0400
committerGravatar Adam Chlipala <adamc@hcoop.net>2008-07-10 14:02:54 -0400
commit425bb7f90ffc8a6f8a1590ed76f305f3029a0beb (patch)
tree5b6d5cf41f31998021e1b29ce4407de55dba12bc /src/corify.sml
parent5f2f492e122a26017496ed57d76ae39c6b1b254a (diff)
Writing HTML
Diffstat (limited to 'src/corify.sml')
-rw-r--r--src/corify.sml14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/corify.sml b/src/corify.sml
index 118255b7..43acedfc 100644
--- a/src/corify.sml
+++ b/src/corify.sml
@@ -427,7 +427,19 @@ fun corifyDecl ((d, loc : EM.span), st) =
end
| _ => raise Fail "Non-const signature for FFI structure")
- | L.DPage (c, e) => ([(L'.DPage (corifyCon st c, corifyExp st e), loc)], st)
+ | L.DPage (c, e) =>
+ let
+ val c = corifyCon st c
+ val e = corifyExp st e
+
+ val dom = (L'.TRecord c, loc)
+ val ran = (L'.TRecord (L'.CRecord ((L'.KType, loc), []), loc), loc)
+ val e = (L'.EAbs ("vs", dom, ran,
+ (L'.EWrite (L'.EApp (e, (L'.ERel 0, loc)), loc), loc)), loc)
+
+ in
+ ([(L'.DPage (c, e), loc)], st)
+ end
and corifyStr ((str, _), st) =
case str of