pass more tests
This commit is contained in:
@@ -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 =
|
||||
|
||||
+1
-1
@@ -31,7 +31,7 @@ compile file = do
|
||||
main :: IO ()
|
||||
main = do
|
||||
files <- Directory.listDirectory "tests/samples"
|
||||
-- let files = ["func.wast"]
|
||||
-- let files = ["call.wast"]
|
||||
-- compile "fact.wast"
|
||||
syntaxTestCases <- (`mapM` files) $ \file -> do
|
||||
content <- LBS.readFile $ "tests/samples/" ++ file
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
(else (call $dummy) (call $dummy) (i32.const 9))
|
||||
)
|
||||
)
|
||||
(;
|
||||
|
||||
(func (export "nested") (param i32 i32) (result i32)
|
||||
(if (result i32) (get_local 0)
|
||||
(then
|
||||
@@ -128,5 +128,4 @@
|
||||
)
|
||||
(get_local 1)
|
||||
)
|
||||
;)
|
||||
)
|
||||
Reference in New Issue
Block a user