@@ -27,7 +27,6 @@ import Language.PureScript.TypeChecker.Synonyms as T
27import Data.Maybe
27import Data.Maybe
28import qualified Data.Map as M
28import qualified Data.Map as M
30−import Language.PureScript.Values
31import Language.PureScript.Types
30import Language.PureScript.Types
32import Language.PureScript.Names
31import Language.PureScript.Names
33import Language.PureScript.Kinds
32import Language.PureScript.Kinds
@@ -63,9 +62,7 @@ typeCheckAll (TypeSynonymDeclaration name args ty : rest) = do
63 putEnv $ env { types = M.insert (modulePath, name) (kind, TypeSynonym) (types env)
62 putEnv $ env { types = M.insert (modulePath, name) (kind, TypeSynonym) (types env)
64 , typeSynonyms = M.insert (modulePath, name) (args, ty) (typeSynonyms env) }
63 , typeSynonyms = M.insert (modulePath, name) (args, ty) (typeSynonyms env) }
65 typeCheckAll rest
64 typeCheckAll rest
66−typeCheckAll (TypeDeclaration name ty : ValueDeclaration name' [] Nothing val : rest) | name == name' =
65+typeCheckAll (TypeDeclaration _ _ : _) = error "Type declarations should have been removed"
67− typeCheckAll (ValueDeclaration name [] Nothing (TypedValue val ty) : rest)
68−typeCheckAll (TypeDeclaration name _ : _) = throwError $ "Orphan type declaration for " ++ show name
69typeCheckAll (ValueDeclaration name [] Nothing val : rest) = do
66typeCheckAll (ValueDeclaration name [] Nothing val : rest) = do
70 rethrow (("Error in declaration " ++ show name ++ ":\n") ++) $ do
67 rethrow (("Error in declaration " ++ show name ++ ":\n") ++) $ do
71 env <- getEnv
68 env <- getEnv