@@ -211,7 +211,7 @@ findExports = foldM addModule M.empty
212-- Type representing a set of declarations being explicitly imported from a module
212-- Type representing a set of declarations being explicitly imported from a module
214−type ExplicitImports = [ImportType]
214+type ExplicitImports = [DeclarationRef]
217-- Finds the imports within a module, mapping the imported module name to an optional set of
217-- Finds the imports within a module, mapping the imported module name to an optional set of
@@ -249,24 +249,24 @@ resolveImport currentModule importModule exp imp i = case i of
249 -- Import everything from a module
249 -- Import everything from a module
250 importAll :: ImportEnvironment -> Either String ImportEnvironment
250 importAll :: ImportEnvironment -> Either String ImportEnvironment
251 importAll imp = do
251 importAll imp = do
252− imp' <- foldM (\m (name, dctors) -> importExplicit m (TypeImport name (Just dctors))) imp (S.toList $ exportedTypes exp)
252+ imp' <- foldM (\m (name, dctors) -> importExplicit m (TypeRef name (Just dctors))) imp (S.toList $ exportedTypes exp)
253− imp'' <- foldM (\m name -> importExplicit m (NameImport name)) imp' (S.toList $ exportedValues exp)
253+ imp'' <- foldM (\m name -> importExplicit m (ValueRef name)) imp' (S.toList $ exportedValues exp)
254− foldM (\m name -> importExplicit m (TypeClassImport name)) imp'' (S.toList $ exportedTypeClasses exp)
254+ foldM (\m name -> importExplicit m (TypeClassRef name)) imp'' (S.toList $ exportedTypeClasses exp)
256 -- Import something explicitly
256 -- Import something explicitly
257− importExplicit :: ImportEnvironment -> ImportType -> Either String ImportEnvironment
257+ importExplicit :: ImportEnvironment -> DeclarationRef -> Either String ImportEnvironment
258− importExplicit imp (NameImport name) = do
258+ importExplicit imp (ValueRef name) = do
259 checkImportExists "value" values name
259 checkImportExists "value" values name
260 values' <- updateImports (importedValues imp) name
260 values' <- updateImports (importedValues imp) name
261 return $ imp { importedValues = values' }
261 return $ imp { importedValues = values' }
262− importExplicit imp (TypeImport name dctors) = do
262+ importExplicit imp (TypeRef name dctors) = do
263 checkImportExists "type" types name
263 checkImportExists "type" types name
264 types' <- updateImports (importedTypes imp) name
264 types' <- updateImports (importedTypes imp) name
265 let allDctors = allExportedDataConstructors name
265 let allDctors = allExportedDataConstructors name
266 dctors' <- maybe (return allDctors) (mapM $ checkDctorExists allDctors) dctors
266 dctors' <- maybe (return allDctors) (mapM $ checkDctorExists allDctors) dctors
267 dctors'' <- foldM updateImports (importedDataConstructors imp) dctors'
267 dctors'' <- foldM updateImports (importedDataConstructors imp) dctors'
268 return $ imp { importedTypes = types', importedDataConstructors = dctors'' }
268 return $ imp { importedTypes = types', importedDataConstructors = dctors'' }
269− importExplicit imp (TypeClassImport name) = do
269+ importExplicit imp (TypeClassRef name) = do
270 checkImportExists "type class" classes name
270 checkImportExists "type class" classes name
271 typeClasses' <- updateImports (importedTypeClasses imp) name
271 typeClasses' <- updateImports (importedTypeClasses imp) name
272 return $ imp { importedTypeClasses = typeClasses' }
272 return $ imp { importedTypeClasses = typeClasses' }