summaryrefslogtreecommitdiff
path: root/src/elaborate.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2009-06-07 16:45:00 -0400
committerGravatar Adam Chlipala <adamc@hcoop.net>2009-06-07 16:45:00 -0400
commit005fbe2dd67c6ec77282179032f94ffa6cb7788c (patch)
tree30300e247037398cd77a827ae1c38b96d19baec7 /src/elaborate.sml
parent07249bc2c07b2af3b9decb84ce968e3005a19c0f (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.sml4
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