diff options
author | sjakie | 2001-06-11 09:30:52 +0000 |
---|---|---|
committer | sjakie | 2001-06-11 09:30:52 +0000 |
commit | 8335b6700d6ddd40d94682b8f5da73343149516e (patch) | |
tree | 30c81b18e23a6263b4e6f74a0ebb5f1a80a32abf /frontend/checktypes.icl | |
parent | bug fix, assign last nodedefs in CollectSharedNodeIdsInRootNode (diff) |
Bug fix with array updates. Removed redundant code. Adjusted unification algorithm.
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@478 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend/checktypes.icl')
-rw-r--r-- | frontend/checktypes.icl | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/frontend/checktypes.icl b/frontend/checktypes.icl index 2000dee..8688713 100644 --- a/frontend/checktypes.icl +++ b/frontend/checktypes.icl @@ -867,7 +867,8 @@ where check_context_types tc_class [] cs=:{cs_error} = { cs & cs_error = checkError tc_class "type context should contain one or more type variables" cs_error} check_context_types tc_class [((CV {tv_name}) :@: _):_] cs=:{cs_error} - = { cs & cs_error = checkError tv_name "not allowed as higher order type variable in context" cs_error} + = cs +// = { cs & cs_error = checkError tv_name "not allowed as higher order type variable in context" cs_error} check_context_types tc_class [TV _ : types] cs = cs check_context_types tc_class [type : types] cs @@ -1141,11 +1142,11 @@ where addExistentionalTypeVariablesToSymbolTable :: !TypeAttribute ![ATypeVar] !*TypeHeaps !*CheckState -> (![ATypeVar], !(!*TypeHeaps, !*CheckState)) addExistentionalTypeVariablesToSymbolTable root_attr type_vars heaps cs - = mapSt (add_type_variable_to_symbol_table root_attr) type_vars (heaps, cs) + = mapSt (add_exi_variable_to_symbol_table root_attr) type_vars (heaps, cs) where - add_type_variable_to_symbol_table :: !TypeAttribute !ATypeVar !(!*TypeHeaps, !*CheckState) + add_exi_variable_to_symbol_table :: !TypeAttribute !ATypeVar !(!*TypeHeaps, !*CheckState) -> (!ATypeVar, !(!*TypeHeaps, !*CheckState)) - add_type_variable_to_symbol_table root_attr atv=:{atv_variable=atv_variable=:{tv_name}, atv_attribute} + add_exi_variable_to_symbol_table root_attr atv=:{atv_variable=atv_variable=:{tv_name}, atv_attribute} (heaps=:{th_vars,th_attrs}, cs=:{ cs_symbol_table, cs_error /* TD ... */, cs_x={x_type_var_position} /* ... TD */}) # tv_info = tv_name.id_info (entry, cs_symbol_table) = readPtr tv_info cs_symbol_table |