diff options
author | Adam Chlipala <adamc@hcoop.net> | 2008-07-13 11:43:57 -0400 |
---|---|---|
committer | Adam Chlipala <adamc@hcoop.net> | 2008-07-13 11:43:57 -0400 |
commit | 95d278b9b8e9c314541b8251a34a32fe6deeb896 (patch) | |
tree | f0f262173a66272d9d91248844f2facc40cc65a2 /src/elaborate.sml | |
parent | 3316f3c317e587a5fc2ecf38f061a72b48e3b94e (diff) |
Starting with closure links
Diffstat (limited to 'src/elaborate.sml')
-rw-r--r-- | src/elaborate.sml | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/elaborate.sml b/src/elaborate.sml index 81b3e8c4..af5c6c95 100644 --- a/src/elaborate.sml +++ b/src/elaborate.sml @@ -1945,13 +1945,12 @@ fun elabDecl ((d, loc), (env, denv, gs)) = (case (hnormCon (env, denv) dom, hnormCon (env, denv) ran) of (((L'.TRecord domR, _), []), ((L'.CApp (tf, ranR), _), [])) => - (case hnormCon (env, denv) ranR of - (ranR, []) => + (case (hnormCon (env, denv) tf, hnormCon (env, denv) ranR) of + ((tf, []), (ranR, [])) => (case (hnormCon (env, denv) domR, hnormCon (env, denv) ranR) of ((domR, []), (ranR, [])) => (L'.SgiVal (x, n, (L'.TFun ((L'.TRecord domR, loc), - (L'.CApp (tf, - (L'.TRecord ranR, loc)), loc)), + (L'.CApp (tf, ranR), loc)), loc)), loc) | _ => all) | _ => all) |