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
commit3d7820916ae84710cab458c6b4ba9b1412ee3f5d (patch)
tree30300e247037398cd77a827ae1c38b96d19baec7 /src/elaborate.sml
parent818577c761fb4d2ebbddbeb614bfbf33e38b92f6 (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