summaryrefslogtreecommitdiff
path: root/src/elaborate.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2008-07-13 11:43:57 -0400
committerGravatar Adam Chlipala <adamc@hcoop.net>2008-07-13 11:43:57 -0400
commit95d278b9b8e9c314541b8251a34a32fe6deeb896 (patch)
treef0f262173a66272d9d91248844f2facc40cc65a2 /src/elaborate.sml
parent3316f3c317e587a5fc2ecf38f061a72b48e3b94e (diff)
Starting with closure links
Diffstat (limited to 'src/elaborate.sml')
-rw-r--r--src/elaborate.sml7
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)