@@ -52,14 +52,14 @@ collapseBindingGroupsModule = map $ \(Module name ds exps) -> Module name (colla
53createBindingGroups :: ModuleName -> [Declaration] -> Either ErrorStack [Declaration]
53createBindingGroups :: ModuleName -> [Declaration] -> Either ErrorStack [Declaration]
54createBindingGroups moduleName ds = do
54createBindingGroups moduleName ds = do
55− values <- mapM (createBindingGroupsForValue moduleName) $ filter isValueDecl ds
55+ values <- parU (filter isValueDecl ds) (createBindingGroupsForValue moduleName)
56 let dataDecls = filter isDataDecl ds
56 let dataDecls = filter isDataDecl ds
57 allProperNames = map getProperName dataDecls
57 allProperNames = map getProperName dataDecls
58 dataVerts = map (\d -> (d, getProperName d, usedProperNames moduleName d `intersect` allProperNames)) dataDecls
58 dataVerts = map (\d -> (d, getProperName d, usedProperNames moduleName d `intersect` allProperNames)) dataDecls
59− dataBindingGroupDecls <- mapM toDataBindingGroup $ stronglyConnComp dataVerts
59+ dataBindingGroupDecls <- parU (stronglyConnComp dataVerts) toDataBindingGroup
60 let allIdents = map getIdent values
60 let allIdents = map getIdent values
61 valueVerts = map (\d -> (d, getIdent d, usedIdents moduleName d `intersect` allIdents)) values
61 valueVerts = map (\d -> (d, getIdent d, usedIdents moduleName d `intersect` allIdents)) values
62− bindingGroupDecls <- mapM (toBindingGroup moduleName) $ stronglyConnComp valueVerts
62+ bindingGroupDecls <- parU (stronglyConnComp valueVerts) (toBindingGroup moduleName)
63 return $ filter isImportDecl ds ++
63 return $ filter isImportDecl ds ++
64 filter isExternDataDecl ds ++
64 filter isExternDataDecl ds ++
65 filter isExternInstanceDecl ds ++
65 filter isExternInstanceDecl ds ++