diff options
author | ronny | 2002-11-07 15:04:17 +0000 |
---|---|---|
committer | ronny | 2002-11-07 15:04:17 +0000 |
commit | e96fdc6522f8d8c40b716baf3431035514558244 (patch) | |
tree | 1aed05d06cb6a1d3f9a8311a2c410417493ab728 /frontend/convertDynamics.icl | |
parent | Fix 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.icl | 9 |
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, |