@@ -184,14 +184,14 @@ renameInModule imports exports (Module mn decls exps) =
184 updateTypeName (Qualified Nothing name) = update "type" importedTypes name
184 updateTypeName (Qualified Nothing name) = update "type" importedTypes name
185 updateTypeName (Qualified (Just mn) name) = do
185 updateTypeName (Qualified (Just mn) name) = do
186 modExports <- getExports mn
186 modExports <- getExports mn
187− case name `lookup` (S.toList (exportedTypes modExports)) of
187+ case name `lookup` S.toList (exportedTypes modExports) of
188 Nothing -> throwError $ "Unknown type '" ++ show (Qualified (Just mn) name) ++ "'"
188 Nothing -> throwError $ "Unknown type '" ++ show (Qualified (Just mn) name) ++ "'"
189 _ -> return $ Qualified (Just mn) name
189 _ -> return $ Qualified (Just mn) name
191 updateDataConstructorName (Qualified Nothing name) = update "data constructor" importedDataConstructors name
191 updateDataConstructorName (Qualified Nothing name) = update "data constructor" importedDataConstructors name
192 updateDataConstructorName (Qualified (Just mn) name) = do
192 updateDataConstructorName (Qualified (Just mn) name) = do
193 modExports <- getExports mn
193 modExports <- getExports mn
194− let allDcons = join (snd `map` (S.toList $ exportedTypes modExports))
194+ let allDcons = join $ snd `map` S.toList (exportedTypes modExports)
195 if name `elem` allDcons
195 if name `elem` allDcons
196 then return $ Qualified (Just mn) name
196 then return $ Qualified (Just mn) name
197 else throwError $ "Unknown data constructor '" ++ show (Qualified (Just mn) name) ++ "'"
197 else throwError $ "Unknown data constructor '" ++ show (Qualified (Just mn) name) ++ "'"
@@ -210,7 +210,7 @@ renameInModule imports exports (Module mn decls exps) =
210 check :: (Show a, Ord a) => String -> (Exports -> S.Set a) -> ModuleName -> a -> Either String (Qualified a)
210 check :: (Show a, Ord a) => String -> (Exports -> S.Set a) -> ModuleName -> a -> Either String (Qualified a)
211 check t get mn name = do
211 check t get mn name = do
212 modExports <- getExports mn
212 modExports <- getExports mn
213− if name `S.member` (get modExports)
213+ if name `S.member` get modExports
214 then return $ Qualified (Just mn) name
214 then return $ Qualified (Just mn) name
215 else throwError $ "Unknown " ++ t ++ " '" ++ show (Qualified (Just mn) name) ++ "'"
215 else throwError $ "Unknown " ++ t ++ " '" ++ show (Qualified (Just mn) name) ++ "'"
@@ -226,7 +226,7 @@ findExports = foldM addModule $ M.singleton (ModuleName [ProperName "Prim"]) pri
228 -- The exported types from the Prim module
228 -- The exported types from the Prim module
229− primExports = Exports (S.fromList $ (\(Qualified _ name) -> (name, [])) `map` (M.keys primTypes)) S.empty S.empty
229+ primExports = Exports (S.fromList $ (\(Qualified _ name) -> (name, [])) `map` M.keys primTypes) S.empty S.empty
231 -- Add all of the exported declarations from a module to the global export environment
231 -- Add all of the exported declarations from a module to the global export environment
232 addModule :: ExportEnvironment -> Module -> Either String ExportEnvironment
232 addModule :: ExportEnvironment -> Module -> Either String ExportEnvironment