diff options
author | Adam Chlipala <adamc@hcoop.net> | 2008-07-10 14:02:54 -0400 |
---|---|---|
committer | Adam Chlipala <adamc@hcoop.net> | 2008-07-10 14:02:54 -0400 |
commit | 425bb7f90ffc8a6f8a1590ed76f305f3029a0beb (patch) | |
tree | 5b6d5cf41f31998021e1b29ce4407de55dba12bc /src/corify.sml | |
parent | 5f2f492e122a26017496ed57d76ae39c6b1b254a (diff) |
Writing HTML
Diffstat (limited to 'src/corify.sml')
-rw-r--r-- | src/corify.sml | 14 |
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 |