comparison src/elaborate.sml @ 110:3739af9e727a

Starting with closure links
author Adam Chlipala <adamc@hcoop.net>
date Sun, 13 Jul 2008 11:43:57 -0400
parents 813e5a52063d
children e3041657d653
comparison
equal deleted inserted replaced
109:813e5a52063d 110:3739af9e727a
1943 (case hnormCon (env, denv) t of 1943 (case hnormCon (env, denv) t of
1944 ((L'.TFun (dom, ran), _), []) => 1944 ((L'.TFun (dom, ran), _), []) =>
1945 (case (hnormCon (env, denv) dom, hnormCon (env, denv) ran) of 1945 (case (hnormCon (env, denv) dom, hnormCon (env, denv) ran) of
1946 (((L'.TRecord domR, _), []), 1946 (((L'.TRecord domR, _), []),
1947 ((L'.CApp (tf, ranR), _), [])) => 1947 ((L'.CApp (tf, ranR), _), [])) =>
1948 (case hnormCon (env, denv) ranR of 1948 (case (hnormCon (env, denv) tf, hnormCon (env, denv) ranR) of
1949 (ranR, []) => 1949 ((tf, []), (ranR, [])) =>
1950 (case (hnormCon (env, denv) domR, hnormCon (env, denv) ranR) of 1950 (case (hnormCon (env, denv) domR, hnormCon (env, denv) ranR) of
1951 ((domR, []), (ranR, [])) => 1951 ((domR, []), (ranR, [])) =>
1952 (L'.SgiVal (x, n, (L'.TFun ((L'.TRecord domR, loc), 1952 (L'.SgiVal (x, n, (L'.TFun ((L'.TRecord domR, loc),
1953 (L'.CApp (tf, 1953 (L'.CApp (tf, ranR), loc)),
1954 (L'.TRecord ranR, loc)), loc)),
1955 loc)), loc) 1954 loc)), loc)
1956 | _ => all) 1955 | _ => all)
1957 | _ => all) 1956 | _ => all)
1958 | _ => all) 1957 | _ => all)
1959 | _ => all) 1958 | _ => all)