From 2c5be9380eddf52365e91f00f478ee5e76ed9db1 Mon Sep 17 00:00:00 2001 From: Kevin Mahoney Date: Sat, 24 Mar 2012 09:40:54 +0000 Subject: [PATCH 1/4] Failing test case. --- AlgorithmW.lhs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/AlgorithmW.lhs b/AlgorithmW.lhs index dcf10a3..4014882 100644 --- a/AlgorithmW.lhs +++ b/AlgorithmW.lhs @@ -341,6 +341,10 @@ e5 = EAbs "m" (ELet "y" (EVar "m") e6 = EApp (ELit (LInt 2)) (ELit (LInt 2)) +e7 = EAbs "a" (ELet "x" (EAbs "b" (ELet "y" (EAbs "c" (EApp (EVar "a") (ELit (LInt 1)))) + (EApp (EVar "y") (ELit (LInt 2))))) + (EApp (EVar "x") (ELit (LInt 3)))) + \end{code} % This simple test function tries to infer the type for the given @@ -365,7 +369,7 @@ type inference fails. \begin{code} main :: IO () -main = mapM_ test [e0, e1, e2, e3, e4, e5, e6] +main = mapM_ test [e0, e1, e2, e3, e4, e5, e6, e7] -- |Collecting Constraints| -- |main = mapM_ test' [e0, e1, e2, e3, e4, e5]| \end{code} From 418a30900a8406ee9c90b19358eae85cccaab8f9 Mon Sep 17 00:00:00 2001 From: Kevin Mahoney Date: Sat, 24 Mar 2012 09:43:38 +0000 Subject: [PATCH 2/4] Compose newer substitutions onto older substitutions. --- AlgorithmW.lhs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/AlgorithmW.lhs b/AlgorithmW.lhs index 4014882..66416ee 100644 --- a/AlgorithmW.lhs +++ b/AlgorithmW.lhs @@ -240,7 +240,7 @@ which is responsible for circularity type errors. mgu :: Type -> Type -> TI Subst mgu (TFun l r) (TFun l' r') = do s1 <- mgu l l' s2 <- mgu (apply s1 r) (apply s1 r') - return (s1 `composeSubst` s2) + return (s2 `composeSubst` s1) mgu (TVar u) t = varBind u t mgu t (TVar u) = varBind u t mgu TInt TInt = return nullSubst @@ -299,7 +299,7 @@ ti env (ELet x e1 e2) = t' = generalize (apply s1 env) t1 env'' = TypeEnv (Map.insert x t' env') (s2, t2) <- ti (apply s1 env'') e2 - return (s1 `composeSubst` s2, t2) + return (s2 `composeSubst` s1, t2) \end{code} % This is the main entry point to the type inferencer. It simply calls From 9e01681173adcc3cc2b12ffad9d4d005922ff4fa Mon Sep 17 00:00:00 2001 From: Kevin Mahoney Date: Sat, 24 Mar 2012 09:52:04 +0000 Subject: [PATCH 3/4] Updated PDF. --- AlgorithmW.pdf | Bin 211271 -> 211585 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/AlgorithmW.pdf b/AlgorithmW.pdf index 8a44aaf04a6b2e13cf10c6972f062a6c14d2a2a8..5dc8d73112b3a26976cb4da2ffce8b7c275fdf24 100644 GIT binary patch delta 34823 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 J^Y!b^ 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 From e1797cb07ccf5a84e5bc2132e48a00be1257ad8d Mon Sep 17 00:00:00 2001 From: Yair Chuchem Date: Thu, 19 Jun 2014 23:36:32 +0300 Subject: [PATCH 4/4] Add test case for the bug which was in mgu of TFun --- AlgorithmW.lhs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/AlgorithmW.lhs b/AlgorithmW.lhs index 66416ee..40c6d7b 100644 --- a/AlgorithmW.lhs +++ b/AlgorithmW.lhs @@ -345,6 +345,9 @@ e7 = EAbs "a" (ELet "x" (EAbs "b" (ELet "y" (EAbs "c" (EApp (EVar "a") (ELit ( (EApp (EVar "y") (ELit (LInt 2))))) (EApp (EVar "x") (ELit (LInt 3)))) +e8 = EAbs "a" (EAbs "b" + (EApp (EVar "b") (EApp (EVar "a") (EApp (EVar "a") (EVar "b"))))) + \end{code} % This simple test function tries to infer the type for the given @@ -369,7 +372,7 @@ type inference fails. \begin{code} main :: IO () -main = mapM_ test [e0, e1, e2, e3, e4, e5, e6, e7] +main = mapM_ test [e0, e1, e2, e3, e4, e5, e6, e7, e8] -- |Collecting Constraints| -- |main = mapM_ test' [e0, e1, e2, e3, e4, e5]| \end{code}