pass more tests

This commit is contained in:
Ilya Rezvov
2018-02-25 08:52:44 -08:00
parent e05bcdd0cb
commit 1366c63bf3
3 changed files with 4 additions and 5 deletions
+2 -2
View File
@@ -332,7 +332,7 @@ unify :: Arrow -> Arrow -> Checker Arrow
unify (f `Arrow` []) (f' `Arrow` t') =
return $ (reverse f' ++ f) `Arrow` t'
unify (f `Arrow` t) ([] `Arrow` t') =
return $ f `Arrow` (t' ++ t)
return $ f `Arrow` (reverse t ++ t')
unify (f `Arrow` (Val v':t)) ((Val v:f') `Arrow` t') =
if v == v'
then unify (f `Arrow` t) (f' `Arrow` t')
@@ -352,7 +352,7 @@ unify (f `Arrow` _) ((Any:_) `Arrow` t') =
return $ f `Arrow` t'
unify' :: Arrow -> Arrow -> Checker Arrow
unify' (f `Arrow` t) (f' `Arrow` t') = unify (reverse f `Arrow` reverse t) (reverse f' `Arrow` reverse t')
unify' (f `Arrow` t) (f' `Arrow` t') = unify (f `Arrow` reverse t) (reverse f' `Arrow` t')
getExpressionType :: [Instruction] -> Checker Arrow
getExpressionType instrs =