diff options
author | johnvg | 2011-04-08 15:59:40 +0000 |
---|---|---|
committer | johnvg | 2011-04-08 15:59:40 +0000 |
commit | 6ad63bae4a7d10b85a179b4d0868bbf37d750a13 (patch) | |
tree | d5f297b9851cf48b8f3529630b5cf16bc9a15bf3 /frontend | |
parent | fix type checking of existential type variables that are used by a dynamic ex... (diff) |
fix type checking of existential type variables that are used by a dynamic expression,
but do not occur in the type of a dynamic pattern.
TempQDV is used for existential type variables in a dynamic pattern.
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1912 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend')
-rw-r--r-- | frontend/StdCompare.icl | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/frontend/StdCompare.icl b/frontend/StdCompare.icl index 1ea7f1c..1e39be4 100644 --- a/frontend/StdCompare.icl +++ b/frontend/StdCompare.icl @@ -40,6 +40,8 @@ where (==) (CV tv1) (CV tv2) = tv1 == tv2 (==) (TempCV tv1) (TempCV tv2) = tv1 == tv2 (==) (TempQCV tv1) (TempQCV tv2)= tv1 == tv2 + (==) (TempQCDV tv1) (TempQCDV tv2)= tv1 == tv2 + (==) _ _ = False instance == TypeContext where @@ -107,6 +109,8 @@ where = varid1 == varid2 equal_constructor_args (TempQV varid1) (TempQV varid2) = varid1 == varid2 + equal_constructor_args (TempQDV varid1) (TempQDV varid2) + = varid1 == varid2 equal_constructor_args (TLifted varid1) (TLifted varid2) = varid1 == varid2 equal_constructor_args type1 type2 |