diff options
author | Adam Chlipala <adamc@hcoop.net> | 2009-06-07 16:45:00 -0400 |
---|---|---|
committer | Adam Chlipala <adamc@hcoop.net> | 2009-06-07 16:45:00 -0400 |
commit | 005fbe2dd67c6ec77282179032f94ffa6cb7788c (patch) | |
tree | 30300e247037398cd77a827ae1c38b96d19baec7 /src/elaborate.sml | |
parent | 07249bc2c07b2af3b9decb84ce968e3005a19c0f (diff) |
Fix datatype import bug in Elaborate; fix server-side source setting; more standard library stuff
Diffstat (limited to 'src/elaborate.sml')
-rw-r--r-- | src/elaborate.sml | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/elaborate.sml b/src/elaborate.sml index 92792cd5..3b147e00 100644 --- a/src/elaborate.sml +++ b/src/elaborate.sml @@ -3271,6 +3271,10 @@ and elabDecl (dAll as (d, loc), (env, denv, gs)) = val env = E.pushDatatype env n' xs xncs val t = (L'.CNamed n', loc) + val nxs = length xs + val t = ListUtil.foldli (fn (i, _, t) => + (L'.CApp (t, (L'.CRel (nxs - 1 - i), loc)), loc)) + t xs val env = foldl (fn ((x, n, to), env) => let val t = case to of |