diff options
author | 2008-07-10 10:11:35 -0400 | |
---|---|---|
committer | 2008-07-10 10:11:35 -0400 | |
commit | 768dfadfe4717b0c3f7b207a4980c78288b44a93 (patch) | |
tree | d927ffb9ed326f5f978ef15d1157f99239fcfb0f /src/monoize.sml | |
parent | baa7f87fc4cb1d22eed66ff41a61e9525e0477e2 (diff) |
page declaration, up through monoize
Diffstat (limited to 'src/monoize.sml')
-rw-r--r-- | src/monoize.sml | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/monoize.sml b/src/monoize.sml index e5d7c374..29e94b3f 100644 --- a/src/monoize.sml +++ b/src/monoize.sml @@ -164,6 +164,13 @@ fun monoDecl env (all as (d, loc)) = L.DCon _ => NONE | L.DVal (x, n, t, e) => SOME (Env.pushENamed env x n t (SOME e), (L'.DVal (x, n, monoType env t, monoExp env e), loc)) + | L.DPage ((c, _), e) => + (case c of + L.CRecord (_, vs) => SOME (env, + (L'.DPage (map (fn (nm, t) => (monoName env nm, + monoType env t)) vs, + monoExp env e), loc)) + | _ => poly ()) end fun monoize env ds = |