diff options
author | Juan J. Martinez <jjm@usebox.net> | 2022-08-15 12:11:10 +0100 |
---|---|---|
committer | Juan J. Martinez <jjm@usebox.net> | 2022-08-15 12:11:10 +0100 |
commit | 60d8f688a0c66759bdb7645c9dd4c232bc433c9f (patch) | |
tree | c81394d00bf9825eae6c456ac6238e0f72bbe4ce /src/Compiler.hs | |
parent | cd4c8a3f1b92f0e6a585bd0b199374b8b99c6238 (diff) | |
download | micro-lang-hs-60d8f688a0c66759bdb7645c9dd4c232bc433c9f.tar.gz micro-lang-hs-60d8f688a0c66759bdb7645c9dd4c232bc433c9f.zip |
Unify error reporting
Diffstat (limited to 'src/Compiler.hs')
-rw-r--r-- | src/Compiler.hs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/Compiler.hs b/src/Compiler.hs index 0d90143..49af369 100644 --- a/src/Compiler.hs +++ b/src/Compiler.hs @@ -54,7 +54,7 @@ typecheckCall args params else if all (\(a, b) -> a == b) $ zip t params -- compare types then return $ Nothing -- all good! - else return $ Just ("type mismatch in function call:\n unexpected " ++ A.showList t ++ "\n expecting " ++ A.showList params) + else return $ Just ("type mismatch in function call\n unexpected " ++ A.showList t ++ "\n expecting " ++ A.showList params) Nothing -> -- there was an error in on argument return $ Nothing @@ -67,14 +67,14 @@ showMaybet (Just t) = show t -- returning a string decribing an error or Nothing in case of a type match. typecheckReturn :: Maybe A.Expr -> Maybe A.Type -> State CompState (Maybe String) typecheckReturn Nothing Nothing = return $ Nothing -typecheckReturn Nothing fret = return $ Just $ "invalid return value:\n unexpected ()\n expecting " ++ showMaybet fret +typecheckReturn Nothing fret = return $ Just $ "invalid return value\n unexpected ()\n expecting " ++ showMaybet fret typecheckReturn (Just value) fret = do r <- compile value case r of Right r -> if r == fret then return $ Nothing - else return $ Just $ "invalid return value:\n unexpected " ++ showMaybet r ++ "\n expecting " ++ showMaybet fret + else return $ Just $ "invalid return value\n unexpected " ++ showMaybet r ++ "\n expecting " ++ showMaybet fret Left _ -> return $ Nothing -- error resolving return value compile :: A.Expr -> State CompState CompResult |