aboutsummaryrefslogtreecommitdiff
path: root/frontend/convertDynamics.icl
diff options
context:
space:
mode:
authorronny2002-11-07 15:04:17 +0000
committerronny2002-11-07 15:04:17 +0000
commite96fdc6522f8d8c40b716baf3431035514558244 (patch)
tree1aed05d06cb6a1d3f9a8311a2c410417493ab728 /frontend/convertDynamics.icl
parentFix so that correctness of EI_LetType is maintained during repartitioning (diff)
correct numbering of type vars in right-hand side dynamics
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1268 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend/convertDynamics.icl')
-rw-r--r--frontend/convertDynamics.icl9
1 files changed, 6 insertions, 3 deletions
diff --git a/frontend/convertDynamics.icl b/frontend/convertDynamics.icl
index 0b0b297..c09064e 100644
--- a/frontend/convertDynamics.icl
+++ b/frontend/convertDynamics.icl
@@ -701,14 +701,17 @@ convertTypeCode pattern cinp (TCE_UniType uni_vars type_code) (has_var, binds, c
# (tv_symb, ci)
= getSymbol PD_Dyn_TypeVar SK_Constructor 1 ci
# init_count
- = if pattern ci.ci_type_var_count 0
+ = if pattern ci.ci_type_var_count ci.ci_type_pattern_var_count
# (count, ci_var_heap)
= foldSt (mark_uni_var pattern (build_tv tv_symb)) uni_vars (init_count, ci.ci_var_heap)
# ci
- = {ci & ci_type_var_count = if pattern count ci.ci_type_var_count, ci_var_heap = ci_var_heap}
+ = { ci
+ & ci_type_var_count = if pattern count ci.ci_type_var_count
+ , ci_type_pattern_var_count = if pattern ci.ci_type_pattern_var_count count
+ , ci_var_heap = ci_var_heap}
# (type_code, (has_var, binds, ci))
= convertTypeCode pattern cinp type_code (has_var, binds, ci)
- | count > 0
+ | count > init_count
# (type_scheme_sym, ci)
= getSymbol PD_Dyn_TypeScheme SK_Constructor 2 ci
= (App { app_symb = type_scheme_sym,